com.esri.arcgis.geodatabase
Class IClassSchemaEdit3Proxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.geodatabase.IClassSchemaEditProxy
          extended by com.esri.arcgis.geodatabase.IClassSchemaEdit2Proxy
              extended by com.esri.arcgis.geodatabase.IClassSchemaEdit3Proxy
All Implemented Interfaces:
IClassSchemaEdit, IClassSchemaEdit2, IClassSchemaEdit3, Externalizable, Serializable

public class IClassSchemaEdit3Proxy
extends IClassSchemaEdit2Proxy
implements IClassSchemaEdit3, Serializable

Provides access to members that modify an object class's extension properties.

Remarks

This interface can be used to add and delete fields of type GlobalID to a feature class or table.

A GlobalID value is an ArcGIS assigned ID value for a row that is set when the row is created. The GlobalID value is guaranteed to be unique at the time of creation across all geodatabases. An ObjectID value is also an ArcGIS assigned ID value for a row that is assigned when the row is created. The ObjectID value is guaranteed to be unique across all rows and across all versions of the table containing the row. It is not guaranteed to be unique across tables within a geodatabase or between geodatabases.

The GlobalID value can be used to correlate rows in different geodatabases. Processes such as replication, copy, extract, checkout, checkin, data changes import and data changes export preserve GlobalIDs. If two rows from different geodatabases have the same GlobalID then they are interpreted to be different representations of the same 'real world' entity or relationship. Applications that use GlobalIDs to match rows between different geodatabases may add additional criteria such as matching table names to factor in possible schema changes.

These fields are not editable and only one GlobalID column can exist per table. An alternative to adding a new GlobalID field is to register an existing GUID field as a GlobalID field, using the IClassSchemaEditEx interface.

GlobalID columns are required for replication and data exchange. Details on how to prepare data for replication can be found in the ArcGIS Desktop Web Help article, IReplicationAgent and IGeoDataServer interfaces, and the DataChangesExporter and DataChangesImporter classes (all can be found in the Geodatabase Distributed library) for more information about the APIs for these processes.

As with other schema editing operations, an exclusive schema lock should be acquired for a dataset prior to adding or deleted a GlobalID field.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IClassSchemaEdit3Proxy()
           
  IClassSchemaEdit3Proxy(Object obj)
           
protected IClassSchemaEdit3Proxy(Object obj, String iid)
           
 
Method Summary
 void addGlobalID(String fieldName)
          Adds a global ID column to a class and populates it with GUIDs.
 void addListener(String iidStr, Object theListener, Object theSource)
           
 void deleteGlobalID()
          Deletes the global ID column.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.geodatabase.IClassSchemaEdit2Proxy
alterClassExtensionProperties
 
Methods inherited from class com.esri.arcgis.geodatabase.IClassSchemaEditProxy
alterAliasName, alterClassExtensionCLSID, alterDefaultValue, alterDomain, alterFieldAliasName, alterFieldModelName, alterInstanceCLSID, alterModelName, registerAsObjectClass
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.geodatabase.IClassSchemaEdit2
alterClassExtensionProperties
 
Methods inherited from interface com.esri.arcgis.geodatabase.IClassSchemaEdit
alterAliasName, alterClassExtensionCLSID, alterDefaultValue, alterDomain, alterFieldAliasName, alterFieldModelName, alterInstanceCLSID, alterModelName, registerAsObjectClass
 

Constructor Detail

IClassSchemaEdit3Proxy

public IClassSchemaEdit3Proxy()

IClassSchemaEdit3Proxy

public IClassSchemaEdit3Proxy(Object obj)
                       throws IOException
Throws:
IOException

IClassSchemaEdit3Proxy

protected IClassSchemaEdit3Proxy(Object obj,
                                 String iid)
                          throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class IClassSchemaEdit2Proxy
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class IClassSchemaEdit2Proxy
Throws:
IOException

addGlobalID

public void addGlobalID(String fieldName)
                 throws IOException,
                        AutomationException
Adds a global ID column to a class and populates it with GUIDs.

Remarks

Adds a column of type GlobalID to a Geodatabase table or feature class.

GlobalID columns can be added or deleted to versioned as well as non-versioned ArcSDE tables. In ArcSDE, GlobalID columns can be added to tables that already have data. With Personal or File Geodatabases, however, the tables must have no rows otherwise an error is generated when trying to add the column.

Attempts to add these columns for non-supported data sources like shapefile and coverages fail with errors.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addGlobalID in interface IClassSchemaEdit3
Parameters:
fieldName - The fieldName (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteGlobalID

public void deleteGlobalID()
                    throws IOException,
                           AutomationException
Deletes the global ID column.

Remarks

Deletes a column of type GlobalID to a Geodatabse Table or FeatureClass.

GlobalID columns can be added or deleted to versioned as well as non-versioned ArcSDE tables.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteGlobalID in interface IClassSchemaEdit3
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class IClassSchemaEdit2Proxy
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class IClassSchemaEdit2Proxy
Throws:
IOException
ClassNotFoundException