com.esri.arcgis.geodatabase
Class ObjectClass

java.lang.Object
  extended bycom.esri.arcgis.geodatabase.ObjectClass
All Implemented Interfaces:
IClass, IClassSchemaEdit, IClassSchemaEdit2, IClassSchemaEdit3, IDataset, IDatasetAnalyze, IDatasetEdit, IDatasetEditInfo, IModelInfo, IObjectClass, IObjectClassInfo, IObjectClassInfo2, ISchemaLock, ISubtypes, ITable, ITableCapabilities, IValidation, IValidation2, java.io.Serializable

public class ObjectClass
extends java.lang.Object
implements IDataset, IDatasetEdit, IDatasetEditInfo, IDatasetAnalyze, ISchemaLock, IClass, ITable, IObjectClass, IClassSchemaEdit, IClassSchemaEdit2, IClassSchemaEdit3, IModelInfo, ISubtypes, IValidation, IValidation2, IObjectClassInfo, IObjectClassInfo2, ITableCapabilities

ObjectClass Object.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Remarks

An object class is a table whose rows represent entities, modeled as objects with properties and behavior. The row objects handed out by an object class support the IRow and the IObject interfaces.

An object class may participate in any number of relationship classes that relate its instances to objects (entities) in other object classes.

An object class may contain a discriminating field, referred to as the subtype field that may be used to partition its instances into a number of subtypes. All subtypes share the same field definition and are stored in the same table, however individual subtypes may differ in the default values and domains assigned to fields. The subtyping mechanism can also be used in defining attribute and connectivity rules that apply to the instances of the object class. The subtyping mechanism is a lightweight alternative to creating multiple subclasses each represented by its own object class.

An object class has a non-negative object class ID which is unique within the geodatabase. This ID is assigned to the object class at the time that it is created or at the time that an existing table in the RDBMS is registered with the geodatabase as an object class. The Name of the object class is the same as the name of the table in the DBMS in which the objects in the object class are stored and follows the same fully qualified naming conventions.

An object class may have an AliasName property that is stored as part of its definition by the geodatabase. The AliasName may be retrieved and used for display purposes by applications.

An object class may have a ModelName property that is stored as part of its definition by the geodatabase. The model name is not exposed to end users and if defined, can be used as a search key to find an object class by a standard model name that is adhered to across databases. A model name must be unique across the workspace.

See Also:
IObjectClass, Table, IRowSubtypes, Serialized Form

Constructor Summary
ObjectClass(java.lang.Object obj)
          Construct a ObjectClass using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 void addField(IField field)
          Adds a field to this object class.
 void addGlobalID(java.lang.String fieldName)
          Adds a global ID column to a class & populates it with GUIDs
 void addIndex(IIndex index)
          Adds an index to this object class.
 void addRule(IRule rule)
          Adds the rule to the set of associated rules.
 void addSubtype(int subtypeCode, java.lang.String subtypeName)
          Adds the subtype to the set of associated subtypes.
 void alterAliasName(java.lang.String name)
          The alias name of the object class.
 void alterClassExtensionCLSID(IUID classExtensionCLSID, IPropertySet classExtensionProperties)
          Changes the class extension COM class associated with this database class.
 void alterClassExtensionProperties(IPropertySet classExtensionProperties)
          Changes the class extension properties associated with this object class.
 void alterDefaultValue(java.lang.String fieldName, java.lang.Object value)
          The default value of the object class field.
 void alterDomain(java.lang.String fieldName, IDomain domain)
          The default domain of the object class field.
 void alterFieldAliasName(java.lang.String fieldName, java.lang.String aliasName)
          The alias name of the object class field.
 void alterFieldModelName(java.lang.String fieldName, java.lang.String modelName)
          The model name of the object class field.
 void alterInstanceCLSID(IUID instanceCLSID)
          Changes the instance COM class associated with this database class.
 void alterModelName(java.lang.String name)
          The model name of the object class.
 void alterRule(IRule rule)
          Alter the existing validation rule.
 void analyze(int tableComponents)
          Analyze the data to update/generate DBMS statistics.
 boolean canBypassEditSession()
          Indicates if updates to objects can be safely made outside of an edit session.
 boolean canBypassStoreMethod()
          Indicates if updates to objects can bypass the Store method and OnChange notifications for efficiency.
 boolean canCopy()
          True if this dataset can be copied.
 boolean canDelete()
          True if this dataset can be deleted.
 boolean canRename()
          True if this dataset can be renamed.
 void changeSchemaLock(int schemaLock)
          Changes a schema lock.
 IDataset copy(java.lang.String copyName, IWorkspace copyWorkspace)
          Copies this dataset to a new dataset with the specified name.
 IRow createRow()
          Creates a row in the database with a system assigned object ID and null property values.
 IRowBuffer createRowBuffer()
          Creates a row buffer that can be used with an insert cursor.
 void delete()
          Deletes this dataset.
 void deleteField(IField field)
          Deletes a field from this object class.
 void deleteGlobalID()
          Deletes the global ID column
 void deleteIndex(IIndex index)
          Deletes an index from this object class.
 void deleteRule(IRule rule)
          Deletes the rule from the set of associated rules.
 void deleteSearchedRows(IQueryFilter queryFilter)
          Delete the Rows in the database selected by the specified query.
 void deleteSubtype(int subtypeCode)
          Deletes the subtype from the set of associated subtypes.
 boolean equals(java.lang.Object o)
          Compare this object with another
 int findField(java.lang.String name)
          The index of the field with the specified name.
 java.lang.String getAliasName()
          The alias name of the object class.
 int getAllowableComponents()
          The allowable components to be analyzed.
 IClass getAsIClass()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IClassSchemaEdit getAsIClassSchemaEdit()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IClassSchemaEdit2 getAsIClassSchemaEdit2()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IClassSchemaEdit3 getAsIClassSchemaEdit3()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IDataset getAsIDataset()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IDatasetAnalyze getAsIDatasetAnalyze()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IDatasetEdit getAsIDatasetEdit()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IDatasetEditInfo getAsIDatasetEditInfo()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IModelInfo getAsIModelInfo()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IObjectClass getAsIObjectClass()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IObjectClassInfo getAsIObjectClassInfo()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IObjectClassInfo2 getAsIObjectClassInfo2()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ISchemaLock getAsISchemaLock()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ISubtypes getAsISubtypes()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ITable getAsITable()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 ITableCapabilities getAsITableCapabilities()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IValidation getAsIValidation()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 IValidation2 getAsIValidation2()
          Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.
 java.lang.String getBrowseName()
          The browse name of the dataset.
 java.lang.String getCategory()
          The category of the dataset.
 IUID getCLSID()
          The GUID for the COM Class (CoClass) corresponding to instances of this object class.
 void getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo)
          The list of current locks.
 int getDefaultSubtypeCode()
          The default subtype associated with the class.
 java.lang.Object getDefaultValue(int subtypeCode, java.lang.String fieldName)
          The default value for the associated attribute.
 IDomain getDomain(int subtypeCode, java.lang.String fieldName)
          The domain given the subtype and field.
 IUID getEXTCLSID()
          The GUID for the COM Class (CoClass) corresponding to the class extension for this object class.
 java.lang.Object getExtension()
          The extension for this object class.
 IPropertySet getExtensionProperties()
          The extension properties for this object class.
 IFields getFields()
          The fields collection for this object class.
 IName getFullName()
          The associated name object.
 IIndexes getIndexes()
          The indexes collection for this object class.
 java.lang.String getModelName()
          The model name of the field.
 java.lang.String getName()
          The name of the Dataset.
 int getObjectClassID()
          The unique ID for the object class.
 java.lang.String getOIDFieldName()
          The name of the field corresponding to the OID.
 IPropertySet getPropertySet()
          The set of properties for the dataset.
 IEnumRelationshipClass getRelationshipClasses(int role)
          The relationship classes in which this object class participates in for the specified role.
 IRow getRow(int oID)
          The row from the database with the specified object ID.
 ICursor getRows(java.lang.Object oids, boolean recycling)
          The cursor of rows based on a set of object ids.
 IEnumRule getRules()
          The rules associated with the class.
 IEnumRule getRulesByField(java.lang.String fieldName)
          The rules associated with the attribute.
 IEnumRule getRulesBySubtypeCode(int subtypeCode)
          The rules associated with the subtype.
 IEnumDataset getSubsets()
          Datasets contained within this dataset.
 int getSubtypeFieldIndex()
          The subtype field index.
 java.lang.String getSubtypeFieldName()
          The subtype field name.
 java.lang.String getSubtypeName(int subtypeCode)
          The subtype name.
 IEnumSubtype getSubtypes()
          The subtypes associated with the class.
 int getType()
          The type of the Dataset.
 IWorkspace getWorkspace()
          The workspace containing this dataset.
 int hashCode()
          the hashcode for this object
 ICursor insert(boolean useBuffering)
          Returns a cursor that can be used to insert new Rows.
 boolean isBeingEdited()
          True if the dataset is being edited.
 boolean isCanEdit()
          True if the dataset supports edit sessions with the ability to discard edits on save.
 boolean isCanRedo()
          True if the dataset supports edit sessions with the ability to redo undone operations.
 boolean isCanSelect()
          Indicates if the table supports selection.
 boolean isCanUndo()
          True if the dataset supports edit sessions with the ability to undo individual edit operations.
 boolean isHasOID()
          Indicates if the class has an object identity (OID) field.
 boolean isHasSubtype()
          Indicates if the table has subtypes.
 ICursor ITable_search(IQueryFilter queryFilter, boolean recycling)
          An object cursor that can be used to fetch row objects selected by the specified query.
 int registerAsObjectClass(java.lang.String suggestedOIDFieldName, java.lang.String configKeyword)
          Registers this class with the database, assigning it a class id and creating an object id column.
 void rename(java.lang.String name)
          Renames this Dataset.
 int rowCount(IQueryFilter queryFilter)
          The number of Rows selected by the specified query.
 ISelectionSet select(IQueryFilter queryFilter, int selType, int selOption, IWorkspace selectionContainer)
          A selection that contains the object ids selected by the specified query.
 void setBrowseName(java.lang.String name)
          The browse name of the dataset.
 void setDefaultSubtypeCode(int subtypeCode)
          The default subtype associated with the class.
 void setDefaultValue(int subtypeCode, java.lang.String fieldName, java.lang.Object value)
          The default value for the associated attribute.
 void setDomainByRef(int subtypeCode, java.lang.String fieldName, IDomain domain)
          The domain given the subtype and field.
 void setModelName(java.lang.String name)
          The model name of the field.
 void setSubtypeFieldName(java.lang.String fieldName)
          The subtype field name.
 ICursor update(IQueryFilter queryFilter, boolean recycling)
          Returns a cursor that can be used to update Rows selected by the specified query.
 void updateSearchedRows(IQueryFilter queryFilter, IRowBuffer buffer)
          Update the Rows in the database selected by the specified query.
 ISelectionSet validate(IQueryFilter selection, IWorkspace workspace)
          Validates the selection.
 ISelectionSet validateSelection(ISelectionSet selection, IWorkspace workspace)
          Validates the selection.
 ISet validateSet(ISet selection)
          Validates the set.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ObjectClass

public ObjectClass(java.lang.Object obj)
            throws java.io.IOException
Construct a ObjectClass using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to ObjectClass.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
ObjectClass o = (ObjectClass)obj; // will not work

ObjectClass o = new ObjectClass(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server ObjectClass theObjectClass = (ObjectClass) obj;

Throws:
java.io.IOException - if there are interop problems
Method Detail

getAsIDataset

public IDataset getAsIDataset()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIDatasetEdit

public IDatasetEdit getAsIDatasetEdit()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIDatasetEditInfo

public IDatasetEditInfo getAsIDatasetEditInfo()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIDatasetAnalyze

public IDatasetAnalyze getAsIDatasetAnalyze()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsISchemaLock

public ISchemaLock getAsISchemaLock()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIClass

public IClass getAsIClass()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsITable

public ITable getAsITable()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIObjectClass

public IObjectClass getAsIObjectClass()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIClassSchemaEdit

public IClassSchemaEdit getAsIClassSchemaEdit()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIClassSchemaEdit2

public IClassSchemaEdit2 getAsIClassSchemaEdit2()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIClassSchemaEdit3

public IClassSchemaEdit3 getAsIClassSchemaEdit3()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIModelInfo

public IModelInfo getAsIModelInfo()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsISubtypes

public ISubtypes getAsISubtypes()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIValidation

public IValidation getAsIValidation()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIValidation2

public IValidation2 getAsIValidation2()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIObjectClassInfo

public IObjectClassInfo getAsIObjectClassInfo()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsIObjectClassInfo2

public IObjectClassInfo2 getAsIObjectClassInfo2()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


getAsITableCapabilities

public ITableCapabilities getAsITableCapabilities()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed.


equals

public boolean equals(java.lang.Object o)
Compare this object with another


hashCode

public int hashCode()
the hashcode for this object


getName

public java.lang.String getName()
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IDataset
The name of the Dataset.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getName in interface IDataset
Returns:
The name
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getFullName

public IName getFullName()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IDataset
The associated name object.

Supported Platforms

Windows, Solaris, Linux

Remarks

The FullName property returns a Name object for the dataset. The Name object can be persisted and provides a way to get back to the dataset in a future session of the application, via the Open method on the Name object.

Specified by:
getFullName in interface IDataset
Returns:
A reference to a com.esri.arcgis.system.IName
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getBrowseName

public java.lang.String getBrowseName()
                               throws java.io.IOException,
                                      AutomationException
Description copied from interface: IDataset
The browse name of the dataset.

Supported Platforms

Windows, Solaris, Linux

Remarks

BrowseName returns file names without their extension. For example, States.shp would appear as States.

Specified by:
getBrowseName in interface IDataset
Returns:
The name
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBrowseName

public void setBrowseName(java.lang.String name)
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IDataset
The browse name of the dataset.

Supported Platforms

Windows, Solaris, Linux

Specified by:
setBrowseName in interface IDataset
Parameters:
name - The name (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getType

public int getType()
            throws java.io.IOException,
                   AutomationException
Description copied from interface: IDataset
The type of the Dataset.

Supported Platforms

Windows, Solaris, Linux

Remarks

The Type property returns the enumerated type for the dataset, such as esriDTTable or esriDTFeatureDataset.

Specified by:
getType in interface IDataset
Returns:
A com.esri.arcgis.geodatabase.esriDatasetType constant
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getCategory

public java.lang.String getCategory()
                             throws java.io.IOException,
                                    AutomationException
Description copied from interface: IDataset
The category of the dataset.

Supported Platforms

Windows, Solaris, Linux

Remarks

IDataset::Category returns a description of the category of the dataset.  The description returned from the Category property is the same value that is displayed in the Type column within the Contents tab in ArcCatalog.  The value will contain a description of the dataset such as "Topology" prefixed with a description of the type of workspace containing the dataset such as "File Geodatabase".

The description returned from IDataset::Category may change between releases of ArcGIS.

Specified by:
getCategory in interface IDataset
Returns:
The category
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getSubsets

public IEnumDataset getSubsets()
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IDataset
Datasets contained within this dataset.

Supported Platforms

Windows, Solaris, Linux

Description

The Subsets property returns other Dataset objects contained in this dataset.

Remarks

IDataset::Subsets is not supported for Graph objects such as a Geometric Network.  To return the feature classes contained in a Geometric Network, use the IFeatureClassContainer interface.

Specified by:
getSubsets in interface IDataset
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumDataset
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getWorkspace

public IWorkspace getWorkspace()
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IDataset
The workspace containing this dataset.

Supported Platforms

Windows, Solaris, Linux

Description

The Workspace property returns the containing workspace for this dataset.

Specified by:
getWorkspace in interface IDataset
Returns:
A reference to a com.esri.arcgis.geodatabase.IWorkspace
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPropertySet

public IPropertySet getPropertySet()
                            throws java.io.IOException,
                                   AutomationException
Description copied from interface: IDataset
The set of properties for the dataset.

Supported Platforms

Windows, Solaris, Linux

Description

The PropertySet property is used to return any additional intrinsic properties (but not metadata properties) that may apply to the dataset. One use of this property is to distinguish between the types of File Geodatabase datafile formats. If called on a Feature Class or Table in a File Geodatabase the Datafile Format property can either be esriFGDBStandardDatafile or esriFGDBCompressedDatafile.

Remarks

Examples of intrinsic properties for which explicit methods exist include the SpatialReference and the Extent methods available on the IGeoDataset interface. In most cases this PropertySet will be empty.

IDataset::PropertySet is not supported for Graph objects such as a Geometric Network.

Specified by:
getPropertySet in interface IDataset
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

canCopy

public boolean canCopy()
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IDataset
True if this dataset can be copied.

Supported Platforms

Windows, Solaris, Linux

Remarks

The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods.  For example, you may not delete a network feature class nor can you use the Copy method on a Geodatabase feature class.  To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.

The CanCopy method is supported by:

Specified by:
canCopy in interface IDataset
Returns:
The canCopy
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

copy

public IDataset copy(java.lang.String copyName,
                     IWorkspace copyWorkspace)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IDataset
Copies this dataset to a new dataset with the specified name.

Supported Platforms

Windows, Solaris, Linux

Remarks

IDataset::Copy does not support the copying of Graph objects such as a Geometric Network.

Specified by:
copy in interface IDataset
Parameters:
copyName - The copyName (in)
copyWorkspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDataset
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
GeoDBDataTransfer

canDelete

public boolean canDelete()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IDataset
True if this dataset can be deleted.

Supported Platforms

Windows, Solaris, Linux

Remarks

The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods.  For example, you may not delete a network feature class nor can you use the Copy method on a Geodatabase feature class.  To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.

Specified by:
canDelete in interface IDataset
Returns:
The canDelete
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

delete

public void delete()
            throws java.io.IOException,
                   AutomationException
Description copied from interface: IDataset
Deletes this dataset.

Supported Platforms

Windows, Solaris, Linux

Remarks

Certain feature classes, such as network and topology feature classes, cannot be deleted until their containing objects are deleted.

Specified by:
delete in interface IDataset
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

canRename

public boolean canRename()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IDataset
True if this dataset can be renamed.

Supported Platforms

Windows, Solaris, Linux

Remarks

The CanCopy, CanDelete, and CanRename properties are meant to be used in conjunction with the Copy, Delete, and Rename methods and signify whether a dataset is supported by these methods.  For example, you may not delete or rename a network feature class nor can you use the Copy method on a Geodatabase feature class.  To copy Geodatabase datasets, including feature classes, geometric networks, topologies, etc., use the IGeoDBDataTransfer interface.

Specified by:
canRename in interface IDataset
Returns:
The canRename
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rename

public void rename(java.lang.String name)
            throws java.io.IOException,
                   AutomationException
Description copied from interface: IDataset
Renames this Dataset.

Supported Platforms

Windows, Solaris, Linux

Remarks

IDataset::Rename does not support the renaming of Graph objects such as a Geometric Network.  In addition, certain feature classes, such as network feature classes, cannot be renamed.

Specified by:
rename in interface IDataset
Parameters:
name - The name (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isBeingEdited

public boolean isBeingEdited()
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: IDatasetEdit
True if the dataset is being edited.

Specified by:
isBeingEdited in interface IDatasetEdit
Returns:
The pIsBeingEdited
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanEdit

public boolean isCanEdit()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IDatasetEditInfo
True if the dataset supports edit sessions with the ability to discard edits on save.

Supported Platforms

Windows, Solaris, Linux

Remarks

This property is to be used within an active edit session, results cannot be guaranteed if called on a dataset outside of an edit session.

Specified by:
isCanEdit in interface IDatasetEditInfo
Returns:
The pCanEdit
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanUndo

public boolean isCanUndo()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IDatasetEditInfo
True if the dataset supports edit sessions with the ability to undo individual edit operations.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCanUndo in interface IDatasetEditInfo
Returns:
The pCanUndo
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCanRedo

public boolean isCanRedo()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IDatasetEditInfo
True if the dataset supports edit sessions with the ability to redo undone operations.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isCanRedo in interface IDatasetEditInfo
Returns:
The pCanUndo
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

analyze

public void analyze(int tableComponents)
             throws java.io.IOException,
                    AutomationException
Description copied from interface: IDatasetAnalyze
Analyze the data to update/generate DBMS statistics.

Supported Platforms

Windows, Solaris, Linux

Remarks

When applied to a feature dataset, Analyze updates the statistics for all of the tables.

Specified by:
analyze in interface IDatasetAnalyze
Parameters:
tableComponents - The tableComponents (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getAllowableComponents

public int getAllowableComponents()
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: IDatasetAnalyze
The allowable components to be analyzed.

Supported Platforms

Windows, Solaris, Linux

Remarks

The AllowableComponents property indicates which parts of the table or feature class can be analyzed. The returned value is based on the esriTableComponents enumeration. Members from this enumeration can be bitwise or’d together.

Specified by:
getAllowableComponents in interface IDatasetAnalyze
Returns:
The allowableComponents
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

changeSchemaLock

public void changeSchemaLock(int schemaLock)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: ISchemaLock
Changes a schema lock.

Supported Platforms

Windows, Solaris, Linux

Specified by:
changeSchemaLock in interface ISchemaLock
Parameters:
schemaLock - A com.esri.arcgis.geodatabase.esriSchemaLock constant (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCurrentSchemaLocks

public void getCurrentSchemaLocks(IEnumSchemaLockInfo[] schemaLockInfo)
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: ISchemaLock
The list of current locks.

Supported Platforms

Windows, Solaris, Linux

Remarks

Returns an enumeration of the schema locks currently on the dataset.  Not that there will always be at least one schema lock on the dataset.  By checking the schema locks on a dataset a shared schema lock is applied to the data.

Specified by:
getCurrentSchemaLocks in interface ISchemaLock
Parameters:
schemaLockInfo - A reference to a com.esri.arcgis.geodatabase.IEnumSchemaLockInfo (out: use single element array)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

findField

public int findField(java.lang.String name)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IClass
The index of the field with the specified name.

Supported Platforms

Windows, Solaris, Linux

Remarks

If FindField returns -1, the Field could not be found in the Fields collection.

Specified by:
findField in interface IClass
Parameters:
name - The name (in)
Returns:
The fieldIndex
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getFields

public IFields getFields()
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IClass
The fields collection for this object class.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getFields in interface IClass
Returns:
A reference to a com.esri.arcgis.geodatabase.IFields
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getIndexes

public IIndexes getIndexes()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IClass
The indexes collection for this object class.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getIndexes in interface IClass
Returns:
A reference to a com.esri.arcgis.geodatabase.IIndexes
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addField

public void addField(IField field)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IClass
Adds a field to this object class.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addField in interface IClass
Parameters:
field - A reference to a com.esri.arcgis.geodatabase.IField (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteField

public void deleteField(IField field)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IClass
Deletes a field from this object class.

Supported Platforms

Windows, Solaris, Linux

Remarks

DeleteField removes the specified field from a table, object class or feature class. Fields that are required by the Geodatabase and cannot be removed include:

 

Specified by:
deleteField in interface IClass
Parameters:
field - A reference to a com.esri.arcgis.geodatabase.IField (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addIndex

public void addIndex(IIndex index)
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IClass
Adds an index to this object class.

Supported Platforms

Windows, Solaris, Linux

Specified by:
addIndex in interface IClass
Parameters:
index - A reference to a com.esri.arcgis.geodatabase.IIndex (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteIndex

public void deleteIndex(IIndex index)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IClass
Deletes an index from this object class.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteIndex in interface IClass
Parameters:
index - A reference to a com.esri.arcgis.geodatabase.IIndex (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isHasOID

public boolean isHasOID()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IClass
Indicates if the class has an object identity (OID) field.

Supported Platforms

Windows, Solaris, Linux

Specified by:
isHasOID in interface IClass
Returns:
The hasOID
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getOIDFieldName

public java.lang.String getOIDFieldName()
                                 throws java.io.IOException,
                                        AutomationException
Description copied from interface: IClass
The name of the field corresponding to the OID.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getOIDFieldName in interface IClass
Returns:
The name
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getCLSID

public IUID getCLSID()
              throws java.io.IOException,
                     AutomationException
Description copied from interface: IClass
The GUID for the COM Class (CoClass) corresponding to instances of this object class.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getCLSID in interface IClass
Returns:
A reference to a com.esri.arcgis.system.IUID
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEXTCLSID

public IUID getEXTCLSID()
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IClass
The GUID for the COM Class (CoClass) corresponding to the class extension for this object class.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getEXTCLSID in interface IClass
Returns:
A reference to a com.esri.arcgis.system.IUID
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getExtension

public java.lang.Object getExtension()
                              throws java.io.IOException,
                                     AutomationException
Description copied from interface: IClass
The extension for this object class.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtension in interface IClass
Returns:
A reference to another Object (IUnknown)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getExtensionProperties

public IPropertySet getExtensionProperties()
                                    throws java.io.IOException,
                                           AutomationException
Description copied from interface: IClass
The extension properties for this object class.

Supported Platforms

Windows, Solaris, Linux

Specified by:
getExtensionProperties in interface IClass
Returns:
A reference to a com.esri.arcgis.system.IPropertySet
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

createRow

public IRow createRow()
               throws java.io.IOException,
                      AutomationException
Description copied from interface: ITable
Creates a row in the database with a system assigned object ID and null property values.

Supported Platforms

Windows, Solaris, Linux

Remarks

The CreateRow method creates a new row in the underlying database with a system assigned object id value. A row object representing the created row is returned to the caller. The row object returned has the system assigned object ID as the value of the OIDField. All other fields are initialized to null values if they can be made null and to built-in default values appropriate to the type of the field if they cannot be made null.

The caller is responsible for setting the desired field values into the row and calling the Store method on the row. If the table represents an object class with subtypes, then it is the caller’s responsibility to set the default subtype code into the row and call the InitDefaultValues method on the row before storing, if that is the desired result. For tables without object behavior, insert cursors offer a more efficient way for inserting new rows.

Specified by:
createRow in interface ITable
Returns:
A reference to a com.esri.arcgis.geodatabase.IRow
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRow

public IRow getRow(int oID)
            throws java.io.IOException,
                   AutomationException
Description copied from interface: ITable
The row from the database with the specified object ID.

Supported Platforms

Windows, Solaris, Linux

Remarks

The GetRow method returns an existing row object, given its object ID value. The caller can query the returned row object for additional object specific interfaces. The retrieved row may be modified; calling Store on the row object after changing it will trigger messages to related objects and will mark the row for committing to the database.

Specified by:
getRow in interface ITable
Parameters:
oID - The oID (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IRow
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRows

public ICursor getRows(java.lang.Object oids,
                       boolean recycling)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: ITable
The cursor of rows based on a set of object ids.

Supported Platforms

Windows, Solaris, Linux

Remarks

The GetRows method returns a cursor that may be used to retrieve a set of rows specified by the input array of object id values. See the description of the Search method to understand the meaning of the recycling parameter. It is far more efficient to retrieve a set of rows using the GetRows method than it is to retrieve each individual row using the GetRow method. The retrieved rows may be modified; Store should be called on the row objects after changing them.

Specified by:
getRows in interface ITable
Parameters:
oids - A Variant (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

createRowBuffer

public IRowBuffer createRowBuffer()
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: ITable
Creates a row buffer that can be used with an insert cursor.

Supported Platforms

Windows, Solaris, Linux

Remarks

The CreateRowBuffer method creates a new row buffer object in memory and returns it to the caller. No row is created in the database. The returned row buffer does not have an object ID value. The caller can set values into the row buffer and use it as an argument to the InsertRow method on an insert cursor; the latter is obtained by calling the Insert method on the Table.

Specified by:
createRowBuffer in interface ITable
Returns:
A reference to a com.esri.arcgis.geodatabase.IRowBuffer
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

updateSearchedRows

public void updateSearchedRows(IQueryFilter queryFilter,
                               IRowBuffer buffer)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: ITable
Update the Rows in the database selected by the specified query.

Supported Platforms

Windows, Solaris, Linux

Remarks

All edits to features that participate in a Topology or Geometric Network must be performed within an edit session and bracketed within an edit operation.

Specified by:
updateSearchedRows in interface ITable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
buffer - A reference to a com.esri.arcgis.geodatabase.IRowBuffer (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

deleteSearchedRows

public void deleteSearchedRows(IQueryFilter queryFilter)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: ITable
Delete the Rows in the database selected by the specified query.

Supported Platforms

Windows, Solaris, Linux

Specified by:
deleteSearchedRows in interface ITable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

rowCount

public int rowCount(IQueryFilter queryFilter)
             throws java.io.IOException,
                    AutomationException
Description copied from interface: ITable
The number of Rows selected by the specified query.

Supported Platforms

Windows, Solaris, Linux

Specified by:
rowCount in interface ITable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
Returns:
The numRows
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

ITable_search

public ICursor ITable_search(IQueryFilter queryFilter,
                             boolean recycling)
                      throws java.io.IOException,
                             AutomationException
Description copied from interface: ITable
An object cursor that can be used to fetch row objects selected by the specified query.

Specified by:
ITable_search in interface ITable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

update

public ICursor update(IQueryFilter queryFilter,
                      boolean recycling)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: ITable
Returns a cursor that can be used to update Rows selected by the specified query.

Supported Platforms

Windows, Solaris, Linux

Remarks

The Update method returns an ‘update’ cursor that can be used to update or delete rows. It offers somewhat faster performance than multiple calls to Store or Delete on row objects fetched using a non-recycling search cursor for tables storing simple rows and simple features. There is no difference in performance for custom features.

All edits to features that participate in a Topology or Geometric Network must be bracketed within an edit operation.

Specified by:
update in interface ITable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
recycling - The recycling (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insert

public ICursor insert(boolean useBuffering)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: ITable
Returns a cursor that can be used to insert new Rows.

Supported Platforms

Windows, Solaris, Linux

Remarks

The Insert method returns an ‘insert’ cursor that can be used to bulk insert rows. It offers significantly faster performance than multiple calls to CreateRow and Store for tables storing simple rows and simple features (that is, for tables whose CLSID is esriGeoDatabase.Row, esriGeoDatabase.Object, or esriGeoDatabase.Feature).

Insert cursors on tables containing custom rows and objects use the CreateRow and Store methods to achieve polymorphism, and there is no difference in performance in these cases.

Specified by:
insert in interface ITable
Parameters:
useBuffering - The useBuffering (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ICursor
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

select

public ISelectionSet select(IQueryFilter queryFilter,
                            int selType,
                            int selOption,
                            IWorkspace selectionContainer)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: ITable
A selection that contains the object ids selected by the specified query.

Supported Platforms

Windows, Solaris, Linux

Remarks

The Select method returns a selection set that holds either row ids or row objects from the Table depending on the selection option. Multiple selection sets can be created on the same table. It is up to a client application or object to keep a reference on created selections and use them as appropriate. For example, a FeatureLayer creates and uses selections on a FeatureClass (a type of Table).

When calling Select the selectionContainer parameter is no longer required. Null (C#, VB.Net) or Nothing (VB6) should be supplied it its place. 

Specified by:
select in interface ITable
Parameters:
queryFilter - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
selType - A com.esri.arcgis.geodatabase.esriSelectionType constant (in)
selOption - A com.esri.arcgis.geodatabase.esriSelectionOption constant (in)
selectionContainer - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ISelectionSet
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getObjectClassID

public int getObjectClassID()
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: IObjectClass
The unique ID for the object class.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the unique ID of the object class.

Remarks

Each feature class or table registered with the geodatabase is an object class. Object classes have a unique ID which distinguishes them from other object classes in the geodatabase. The ObjectClassID property returns this ID as a long. The object class ID is assigned by the system when the class is created, or registered with the geodatabase, it cannot be modified.

Those feature classes and tables that are in the database, but not registered with the geodatabase will always have an object class ID of -1.

Specified by:
getObjectClassID in interface IObjectClass
Returns:
The objectClassID
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getRelationshipClasses

public IEnumRelationshipClass getRelationshipClasses(int role)
                                              throws java.io.IOException,
                                                     AutomationException
Description copied from interface: IObjectClass
The relationship classes in which this object class participates in for the specified role.

Supported Platforms

Windows, Solaris, Linux

Description

Returns an enumeration of the relationship classes in which the object class participates.

Remarks

Object classes in a geodatabase may participate in any number of relationships classes. The RelationshipClasses property allows you to get a list of those relationship classes that the object class participates in by what role it plays (origin, destination, or either) defined by the esriRelRole enumeration used when you call this property. This property returns a IEnumRelationshipClass interface which you can use to loop through those relationship classes that are returned.

Specified by:
getRelationshipClasses in interface IObjectClass
Parameters:
role - A com.esri.arcgis.geodatabase.esriRelRole constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumRelationshipClass
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IEnumRelationshipClass, esriRelRole

getAliasName

public java.lang.String getAliasName()
                              throws java.io.IOException,
                                     AutomationException
Description copied from interface: IObjectClass
The alias name of the object class.

Supported Platforms

Windows, Solaris, Linux

Description

Returns the alias name for the object class.

Remarks

Object classes in a geodatabase can have between one and three names. The name of the object class, which is the same as the name of the table in the DBMS in which the objects in the object class are stored, the alias name which the user can set for display purposes in end user applications. The third name is the model name which is a tool for developers of custom objects to use to guarantee the names of objects independent of the true name or alias name.

The AliasName property returns the alias name for the object class. If the object class has no alias name, then AliasName will return the name of the object class (fully qualified if on ArcSDE). The alias name can be modified using the IClassSchemEdit interface.

Specified by:
getAliasName in interface IObjectClass
Returns:
The name
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
IModelInfo

registerAsObjectClass

public int registerAsObjectClass(java.lang.String suggestedOIDFieldName,
                                 java.lang.String configKeyword)
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IClassSchemaEdit
Registers this class with the database, assigning it a class id and creating an object id column.

Supported Platforms

Windows, Solaris, Linux

Description

The RegisterAsObjectClass method will register a table or feature class (ArcSDE layer) in the database with the Geodatabase. The act of registering the data as an object class will create records for the object class in the Geodatabase system tables and assign the object class a unique ID. Once a table or SDE layer is registered as an object class, it can participate in rules, topological relationships and relationships.

When registering a table or ArcSDE layer as an object class, an ObjectID field must be added to it. This field will contain the object IDs which uniquely identify each feature in the class. The object IDs for existing data will automatically be generated. Once a table or ArcSDE layer has been registered as an object class in the Geodatabase, it cannot be unregistered.

RegisterAsObjectClass takes two arguments: the name of the object ID field, and the ArcSDE configuration keyword to use for storage of the new data that is inserted into the object ID field. RegisterAsObjectClass returns a long which is the object class ID assigned to the newly registered class.

Specified by:
registerAsObjectClass in interface IClassSchemaEdit
Parameters:
suggestedOIDFieldName - The suggestedOIDFieldName (in)
configKeyword - The configKeyword (in)
Returns:
The objectClassID
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
IObjectClass, IFeatureClass, IClass

alterInstanceCLSID

public void alterInstanceCLSID(IUID instanceCLSID)
                        throws java.io.IOException,
                               AutomationException
Description copied from interface: IClassSchemaEdit
Changes the instance COM class associated with this database class.

Supported Platforms

Windows, Solaris, Linux

Description

The AlterInstanceCLSID is used to change the behavior class for an object class in the Geodatabase. For example, you may have a class that stores simple feature objects and you want to change it to implement a custom object that you have developed. You use the AlterInstanceCLSID to do so.

Remarks

AlterInstanceCLSID will try to instantiate the object for the CLSID that you provide. If it fails to instantiate it, the method will fail. Therefore, you must have the DLL which has the implementation of your custom object registered on your system before you call AlterInstanceCLSID.

Before you QI for AlterInstanceCLSID, you will have had to open the object class. So, if this fails because you no longer have the DLL registered on your system, then you must use the IFeatureWorkspaceSchemaEdit interface to alter the instance CLSID.

No additional checking is done beyond instantiating the instance object. If the object class does not have the fields required for supporting the custom object then your class may not function with its new instance CLSID.

Specified by:
alterInstanceCLSID in interface IClassSchemaEdit
Parameters:
instanceCLSID - A reference to a com.esri.arcgis.system.IUID (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
IFeatureWorkspaceSchemaEdit

alterClassExtensionCLSID

public void alterClassExtensionCLSID(IUID classExtensionCLSID,
                                     IPropertySet classExtensionProperties)
                              throws java.io.IOException,
                                     AutomationException
Description copied from interface: IClassSchemaEdit
Changes the class extension COM class associated with this database class.

Supported Platforms

Windows, Solaris, Linux

Description

The AlterClassExtensionCLSID method is used to change the class extension for an object class in the Geodatabase. For example, you may have a class to which you want to associate a class extension that you have developed. You use the AlterClassExtensionCLSID to do so.

Remarks

AlterClassExtensionCLSID will try to instantiate the object for the class extension that you provide. If it fails to instantiate it, the method will fail. Therefore, you must have the DLL which has the implementation of your class extension registered on your system before you call AlterClassExtensionCLSID.

Before you QI for AlterClassExtensionCLSID, you will have had to open the object class. So, if this fails because you no longer have the DLL registered on your system for a class extension that is already associated with the class, then you must use the IFeatureWorkspaceSchemaEdit interface to alter the class extension CLSID.

Specified by:
alterClassExtensionCLSID in interface IClassSchemaEdit
Parameters:
classExtensionCLSID - A reference to a com.esri.arcgis.system.IUID (in)
classExtensionProperties - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
IFeatureWorkspaceSchemaEdit, IObjectClassExtension

alterAliasName

public void alterAliasName(java.lang.String name)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IClassSchemaEdit
The alias name of the object class.

Supported Platforms

Windows, Solaris, Linux

Description

Alters the alias name for the object class.

Remarks

Object classes in a Geodatabase can have between one and three names. The name of the object class, which is the same as the name of the table in the DBMS in which the objects in the object class are stored, the alias name which the user can set for display purposes in end user applications. The third name is the model name which is a tool for developers of custom objects to use to guarantee the names of objects independent of the true name or alias name.

The AlterAliasName method sets the alias name for the object class. The alias name can be returned using the IObjectClass interface.

Specified by:
alterAliasName in interface IClassSchemaEdit
Parameters:
name - The name (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
IModelInfo, IObjectClass

alterFieldAliasName

public void alterFieldAliasName(java.lang.String fieldName,
                                java.lang.String aliasName)
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IClassSchemaEdit
The alias name of the object class field.

Supported Platforms

Windows, Solaris, Linux

Description

Alters the alias name for a field in the object class.

Remarks

Fields in object classes in a Geodatabase can have between one and three names. The name of the field, which is the same as the name of the field in the table in the DBMS in which the objects in the object class are stored, the alias name which the user can set for display purposes in end user applications. The third name is the model name which is a tool for developers of custom objects to use to guarantee the names of fields independent of the true name or alias name.

The AlterFieldAliasName method sets the alias name for a field in the object class. The alias name can be returned using the IField interface.

Specified by:
alterFieldAliasName in interface IClassSchemaEdit
Parameters:
fieldName - The fieldName (in)
aliasName - The aliasName (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
IField

alterModelName

public void alterModelName(java.lang.String name)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IClassSchemaEdit
The model name of the object class.

Supported Platforms

Windows, Solaris, Linux

Description

Alters the model name for the object class.

Remarks

Object classes in a Geodatabase can have between one and three names. The name of the object class, which is the same as the name of the table in the DBMS in which the objects in the object class are stored, the alias name which the user can set for display purposes in end user applications. The third name is the model name which is a tool for developers of custom objects to use to guarantee the names of objects independent of the true name or alias name.

The AlterModelName method sets the model name for the object class. The model name can be returned using the IModelInfo interface.

Specified by:
alterModelName in interface IClassSchemaEdit
Parameters:
name - The name (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
IModelInfo

alterFieldModelName

public void alterFieldModelName(java.lang.String fieldName,
                                java.lang.String modelName)
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: IClassSchemaEdit
The model name of the object class field.

Supported Platforms

Windows, Solaris, Linux

Description

Alters the model name for a field in the object class.

Remarks

Fields in object classes in a Geodatabase can have between one and three names. The name of the field, which is the same as the name of the field in the table in the DBMS in which the objects in the object class are stored, the alias name which the user can set for display purposes in end user applications. The third name is the model name which is a tool for developers of custom objects to use to guarantee the names of fields independent of the true name or alias name.

The AlterFieldModelName method sets the model name for a field in the object class. The model name can be returned using the IModelInfo interface.

Specified by:
alterFieldModelName in interface IClassSchemaEdit
Parameters:
fieldName - The fieldName (in)
modelName - The modelName (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
IModelInfo, IField

alterDomain

public void alterDomain(java.lang.String fieldName,
                        IDomain domain)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IClassSchemaEdit
The default domain of the object class field.

Supported Platforms

Windows, Solaris, Linux

Remarks

Domains are used in the Geodatabase to validate the contents of fields in an object class. For example, you can use a domain to specify a valid range of values, or a valid set of values for a particular field in an object class. You can assign domains to a field in an object class at either the class level, or the subtype level. The AlterDomain method on IClassSchemaEdit allows you to set a domain for a field at the class level.

AlterDomain takes as arguments the name of the field you want to associate a domain with as a string, and the domain you are associating as an IDomain. You can get an enumeration of domains in a workspace by calling the Domains or DomainsByFieldType methods on the IWorkspaceDomains interface.

Once a domain is associated with a field in your object class, the values in that field will be validated against that domain when a row in the object class is validated with the IValidate interface, or the Validate Selection command in the Editor.

Specified by:
alterDomain in interface IClassSchemaEdit
Parameters:
fieldName - The fieldName (in)
domain - A reference to a com.esri.arcgis.geodatabase.IDomain (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IField, IDomain, IWorkspaceDomains

alterDefaultValue

public void alterDefaultValue(java.lang.String fieldName,
                              java.lang.Object value)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IClassSchemaEdit
The default value of the object class field.

Supported Platforms

Windows, Solaris, Linux

Remarks

You can assign a default value to a field in an object class at either the class level, or the subtype level. The AlterDefaultValue method on IClassSchemaEdit allows you to set a default value for a field at the class level.

AlterDefaultValue takes as arguments the name of the field you want to associate a default value with as a string, and the default value you are associating as a variant. AlterDefaultValue will fail if the default value cannot be stored in the field.

Once a default value is associated with a field in your object class, you can use the InitDefaultValues method on IRowSubtypes to populate the fields in a object in your object class with its default value. This method is most often called after you have created a new feature or object in the object class, and before storing it.

Specified by:
alterDefaultValue in interface IClassSchemaEdit
Parameters:
fieldName - The fieldName (in)
value - A Variant (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IField, ISubtypes, IRowSubtypes

alterClassExtensionProperties

public void alterClassExtensionProperties(IPropertySet classExtensionProperties)
                                   throws java.io.IOException,
                                          AutomationException
Description copied from interface: IClassSchemaEdit2
Changes the class extension properties associated with this object class.

Supported Platforms

Windows, Solaris, Linux

Description

The AlterClassExtensionProperties method is used to change the class extension properties for an object class in the Geodatabase that already has a class extension associated with it.

Remarks

AlterClassExtensionProperties takes as an argument the new properties for the class extension as an IPropertySet.

Specified by:
alterClassExtensionProperties in interface IClassSchemaEdit2
Parameters:
classExtensionProperties - A reference to a com.esri.arcgis.system.IPropertySet (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
See Also:
IPropertySet, IObjectClassExtension

addGlobalID

public void addGlobalID(java.lang.String fieldName)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IClassSchemaEdit3
Adds a global ID column to a class & populates it with GUIDs

Supported Platforms

Windows, Solaris, Linux

Remarks

Adds 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. 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.

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

deleteGlobalID

public void deleteGlobalID()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: IClassSchemaEdit3
Deletes the global ID column

Supported Platforms

Windows, Solaris, Linux

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. 

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

getModelName

public java.lang.String getModelName()
                              throws java.io.IOException,
                                     AutomationException
Description copied from interface: IModelInfo
The model name of the field.

Supported Platforms

Windows, Solaris, Linux

Remarks

Returns the model name currently associated with the field or object class.

Specified by:
getModelName in interface IModelInfo
Returns:
The name
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IField, IObjectClass, IClassSchemaEdit

setModelName

public void setModelName(java.lang.String name)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: IModelInfo
The model name of the field.

Supported Platforms

Windows, Solaris, Linux

Remarks

Sets the model name for the field or object class.

Specified by:
setModelName in interface IModelInfo
Parameters:
name - The name (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IField, IFieldEdit, IObjectClass, IClassSchemaEdit

isHasSubtype

public boolean isHasSubtype()
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: ISubtypes
Indicates if the table has subtypes.

Supported Platforms

Windows, Solaris, Linux

Description

HasSubtype property returns a boolean value whether the given object class has subypes or not.

Remarks

This property returns a boolean value indicating if the object class has subtypes defined. If there are no subtypes defined, it returns FALSE , if there are subypes defined it returns TRUE.

Specified by:
isHasSubtype in interface ISubtypes
Returns:
The hasSubtype
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getDefaultSubtypeCode

public int getDefaultSubtypeCode()
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: ISubtypes
The default subtype associated with the class.

Supported Platforms

Windows, Solaris, Linux

Description

DefaultSubtypeCode property sets and returns the default subtype code for the given object class.

Remarks

This property sets or returns the value of the default subtype code for the associated class.

Specified by:
getDefaultSubtypeCode in interface ISubtypes
Returns:
The subtypeCode
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setDefaultSubtypeCode

public void setDefaultSubtypeCode(int subtypeCode)
                           throws java.io.IOException,
                                  AutomationException
Description copied from interface: ISubtypes
The default subtype associated with the class.

Supported Platforms

Windows, Solaris, Linux

Description

DefaultSubtypeCode property sets the default subtype code for the given object class.

Specified by:
setDefaultSubtypeCode in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getDefaultValue

public java.lang.Object getDefaultValue(int subtypeCode,
                                        java.lang.String fieldName)
                                 throws java.io.IOException,
                                        AutomationException
Description copied from interface: ISubtypes
The default value for the associated attribute.

Supported Platforms

Windows, Solaris, Linux

Description

DefaultValue property returns the default value for the given subtype.

Remarks

This property return the default value for a particular field associated with a subtype. It requires the subtype code as a Long and the field name as a String . You can use the IField::Type property to determine the type of field that you are passing into the function so you will know what data type is being returned.

Specified by:
getDefaultValue in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
fieldName - The fieldName (in)
Returns:
A Variant
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setDefaultValue

public void setDefaultValue(int subtypeCode,
                            java.lang.String fieldName,
                            java.lang.Object value)
                     throws java.io.IOException,
                            AutomationException
Description copied from interface: ISubtypes
The default value for the associated attribute.

Supported Platforms

Windows, Solaris, Linux

Description

DefaultValue property sets the default value for the given subtype.

Remarks

This property sets the default value for a particlar field associated with a subtype. It requires the subtype code as a Long and the field name as a String.

Specified by:
setDefaultValue in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
fieldName - The fieldName (in)
value - A Variant (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getDomain

public IDomain getDomain(int subtypeCode,
                         java.lang.String fieldName)
                  throws java.io.IOException,
                         AutomationException
Description copied from interface: ISubtypes
The domain given the subtype and field.

Supported Platforms

Windows, Solaris, Linux

Description

The Domain property returns or sets the domain given the subtype code and the fieldname of the subtype.

Remarks

This property returns or sets an IDomain object associated with a particular subtype code and field. The subtype code is required as a Long and field name as a String.

Specified by:
getDomain in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
fieldName - The fieldName (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDomain
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setDomainByRef

public void setDomainByRef(int subtypeCode,
                           java.lang.String fieldName,
                           IDomain domain)
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: ISubtypes
The domain given the subtype and field.

Specified by:
setDomainByRef in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
fieldName - The fieldName (in)
domain - A reference to a com.esri.arcgis.geodatabase.IDomain (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getSubtypeFieldName

public java.lang.String getSubtypeFieldName()
                                     throws java.io.IOException,
                                            AutomationException
Description copied from interface: ISubtypes
The subtype field name.

Supported Platforms

Windows, Solaris, Linux

Remarks

The SubtypeFieldName property is used to either set or return string value for the field that contains the subtypes for this object class. To assign the subtype field, set SubtypeFieldName equal to the name of the field:

Specified by:
getSubtypeFieldName in interface ISubtypes
Returns:
The fieldName
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

setSubtypeFieldName

public void setSubtypeFieldName(java.lang.String fieldName)
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: ISubtypes
The subtype field name.

Supported Platforms

Windows, Solaris, Linux

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

getSubtypeFieldIndex

public int getSubtypeFieldIndex()
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: ISubtypes
The subtype field index.

Supported Platforms

Windows, Solaris, Linux

Description

SubtypeFieldIndex property returns the index of the subtype field.

Remarks

This property returns the index of the field in the object class which stores the subtype codes. The field index is returned as a Long.

Specified by:
getSubtypeFieldIndex in interface ISubtypes
Returns:
The index
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getSubtypeName

public java.lang.String getSubtypeName(int subtypeCode)
                                throws java.io.IOException,
                                       AutomationException
Description copied from interface: ISubtypes
The subtype name.

Supported Platforms

Windows, Solaris, Linux

Description

SubtypeName property returns the subtype name for the subtype referred to by the parameter subtypecode.

Remarks

This property returns the name of a subtype for a given subtype code for the associated object class. The subtype code is required as a Long and returns the name of the subtype as a String.

Specified by:
getSubtypeName in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
Returns:
The subtypeName
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getSubtypes

public IEnumSubtype getSubtypes()
                         throws java.io.IOException,
                                AutomationException
Description copied from interface: ISubtypes
The subtypes associated with the class.

Supported Platforms

Windows, Solaris, Linux

Description

Subtypes returns a IEnumSubtype populated with all of the subtypes for the given object class.

Remarks

Every ObjectClass has a default subtype code. If the user has not explicitly specified a default subtype or a subtype field, then DefaultSubtypeCode will return a subtype code of zero. Additionally, you can query the HasSubtype property; a value of False indicates an absence of a default subtype code, True indicates the presence of a default subtype code.

If the client instead asks for the enumeration of subtypes associated with an ObjectClass and no subtype has been previously added to the ObjectClass, then the enumerator will contain a single entry with a code of zero. The subtype field index value will be –1 if a default subtype has not been previously specified. Subtypes may only be short or long integers (esriFieldTypeSmallInteger or esriFieldTypeInteger). When setting the default subtype code, if one already exists, then it will be deleted. A subtype field must have been specified prior to setting the subtype code value.

Every type of field, except for esriFieldTypeShape, may have a default value. When setting the default value (which my be assigned on a subtype basis), it will be checked against the field’s associated Domain (if one exists) for validity.

This property returns all of the subtypes for the associated object class. Subtypes returns an IEnumSubtype enumeration which you can loop through to get all of the subtypes.

Specified by:
getSubtypes in interface ISubtypes
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumSubtype
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addSubtype

public void addSubtype(int subtypeCode,
                       java.lang.String subtypeName)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: ISubtypes
Adds the subtype to the set of associated subtypes.

Supported Platforms

Windows, Solaris, Linux

Description

AddSubtype adds the subtype to the set of subtypes for the given object class with the subtype code and subtype name given.

Remarks

AddSubtype will create a new subtype for the associated object class. This method requires a subtype code as a Long and a subtype name as a String. Before adding subtypes, use the ISubtypes::SubtypeFieldName property to set the subtypes field.

Once created, you can use the ISubtypes::DefaultValue property to set default values for this subtypes fields, and the ISubtypes::Domain property to assign domains to fields for the subtype.

Specified by:
addSubtype in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
subtypeName - The subtypeName (in)
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

deleteSubtype

public void deleteSubtype(int subtypeCode)
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: ISubtypes
Deletes the subtype from the set of associated subtypes.

Supported Platforms

Windows, Solaris, Linux

Description

DeleteSubtype takes the subtype code parameter to remove the subtype from the set of subtypes of the given object class.

Remarks

DeleteSubtype will delete a subtype for the associated object class. Calling DeleteSubtype will also remove any reference to that subtype in the geodatabase.

Specified by:
deleteSubtype in interface ISubtypes
Parameters:
subtypeCode - The subtypeCode (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRules

public IEnumRule getRules()
                   throws java.io.IOException,
                          AutomationException
Description copied from interface: IValidation
The rules associated with the class.

Supported Platforms

Windows, Solaris, Linux

Description

Rules is a property that returns a IEnumRule object that contains all of the rules associated with the object class.

Remarks

Property Rules returns a IEnumRule enumeration hydrated with all of the rules associated with the object class.

Specified by:
getRules in interface IValidation
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumRule
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

getRulesByField

public IEnumRule getRulesByField(java.lang.String fieldName)
                          throws java.io.IOException,
                                 AutomationException
Description copied from interface: IValidation
The rules associated with the attribute.

Supported Platforms

Windows, Solaris, Linux

Description

RulesByField is a property that returns a IEnumRule object that contains all of the rules associated with the FieldName parameter passed to this property for the given object class.

Specified by:
getRulesByField in interface IValidation
Parameters:
fieldName - The fieldName (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumRule
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getRulesBySubtypeCode

public IEnumRule getRulesBySubtypeCode(int subtypeCode)
                                throws java.io.IOException,
                                       AutomationException
Description copied from interface: IValidation
The rules associated with the subtype.

Supported Platforms

Windows, Solaris, Linux

Description

RulesBySubtypeCode returns a IEnumRule object that contains all of the rules associated with the SubtypeCode passed into this property for the given object class.

Specified by:
getRulesBySubtypeCode in interface IValidation
Parameters:
subtypeCode - The subtypeCode (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IEnumRule
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

addRule

public void addRule(IRule rule)
             throws java.io.IOException,
                    AutomationException
Description copied from interface: IValidation
Adds the rule to the set of associated rules.

Supported Platforms

Windows, Solaris, Linux

Description

AddRule function adds the IRule parameter to the object class.

Specified by:
addRule in interface IValidation
Parameters:
rule - A reference to a com.esri.arcgis.geodatabase.IRule (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteRule

public void deleteRule(IRule rule)
                throws java.io.IOException,
                       AutomationException
Description copied from interface: IValidation
Deletes the rule from the set of associated rules.

Supported Platforms

Windows, Solaris, Linux

Description

DeleteRule function removes the IRule parameter from the object class.

Specified by:
deleteRule in interface IValidation
Parameters:
rule - A reference to a com.esri.arcgis.geodatabase.IRule (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

validate

public ISelectionSet validate(IQueryFilter selection,
                              IWorkspace workspace)
                       throws java.io.IOException,
                              AutomationException
Description copied from interface: IValidation
Validates the selection.

Supported Platforms

Windows, Solaris, Linux

Description

Validate function takes the IQueryFilter and IWorkspace parameters and validates the features in the Workspace based on the rules associated with it. It returns a ISelectionSet containing all of the invalid features. Using Nothing as the QueryFilter will validate all features in the object class, or a QueryFilter can be created to only validate those features meeting that QueryFilter.

Remarks

Validate on a row occurs in five steps:

  1. Validate the subtype

  2. Validate the attribute rules

  3. Validate the network connectivity rules (if network feature)

  4. Validate the relationship rules

  5. Perform custom validation (using optional class extension)

The validate process stops once a row is found invalid. For example, if a network feature violates an attribute rule, the validation process stops and the feature's network connectivity rules are not evaluated until the attribute rule violation is corrected.

Specified by:
validate in interface IValidation
Parameters:
selection - A reference to a com.esri.arcgis.geodatabase.IQueryFilter (in)
workspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ISelectionSet
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

validateSelection

public ISelectionSet validateSelection(ISelectionSet selection,
                                       IWorkspace workspace)
                                throws java.io.IOException,
                                       AutomationException
Description copied from interface: IValidation
Validates the selection.

Supported Platforms

Windows, Solaris, Linux

Description

ValidateSelection function takes the ISelectionSet and IWorkspace and validates the features contained in the SelectionSet of the Workspace based on the rules associated with it. It returns a ISelectionSet containing all of the invalid features found.

Specified by:
validateSelection in interface IValidation
Parameters:
selection - A reference to a com.esri.arcgis.geodatabase.ISelectionSet (in)
workspace - A reference to a com.esri.arcgis.geodatabase.IWorkspace (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.ISelectionSet
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

validateSet

public ISet validateSet(ISet selection)
                 throws java.io.IOException,
                        AutomationException
Description copied from interface: IValidation
Validates the set.

Supported Platforms

Windows, Solaris, Linux

Description

ValidateSet function takes the ISet parameter and validates that set based on the rules associated with the object class. It returns a ISet object containing all of the invalid features that it found in that set.

Specified by:
validateSet in interface IValidation
Parameters:
selection - A reference to a com.esri.arcgis.system.ISet (in)
Returns:
A reference to a com.esri.arcgis.system.ISet
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

alterRule

public void alterRule(IRule rule)
               throws java.io.IOException,
                      AutomationException
Description copied from interface: IValidation2
Alter the existing validation rule.

Supported Platforms

Windows, Solaris, Linux

Remarks

The AlterRule method is used to change the characteristics of an existing rule.  This is currently only implemented to change connectivity rules.

Specified by:
alterRule in interface IValidation2
Parameters:
rule - A reference to a com.esri.arcgis.geodatabase.IRule (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

canBypassStoreMethod

public boolean canBypassStoreMethod()
                             throws java.io.IOException,
                                    AutomationException
Description copied from interface: IObjectClassInfo
Indicates if updates to objects can bypass the Store method and OnChange notifications for efficiency.

Supported Platforms

Windows, Solaris, Linux

Remarks

CanBypassStore is a convenience method that returns True if the instances of this object class have no custom behavior associated with creating or updating objects and if the object class does not participate in composite relationship classes or in relationship classes that require object notification. A return value of True implies that insert cursors handed out by the geodatabase will internally bypass the CreateRow and Store mechanisms when creating objects. A return value of False indicates that insert cursors will not bypass custom Store or OnChanged behavior implemented by the custom row object for this class.

By default, this method returns False for custom object classes. The developer of a custom object class can change this behavior by implementing this interface on the class extension associated with the class and returning True for the method.

In addition, a developer can implement this interface on the class extension of a simple class and set this property to False . Doing this will ensure that when features in the class are inserted, updated or deleted by editor tools that use insert and update cursors, such as Planarize, Create Features and the Object Loader do not bypass Store or OnChanged behavior. By default, this property for a simple class is logically True, meaning these tools will not broacast Geodatabase events which in turn are not rebroadcast as editor events (for which a custom editor application may be listening). Set this to False for those classes for which you always want to have these events broadcast. Alternatively, this can be set globally for the entire edit session using the IWorkspaceEditControl interface.

Specified by:
canBypassStoreMethod in interface IObjectClassInfo
Returns:
The canBypassStore
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

canBypassEditSession

public boolean canBypassEditSession()
                             throws java.io.IOException,
                                    AutomationException
Description copied from interface: IObjectClassInfo2
Indicates if updates to objects can be safely made outside of an edit session.

Supported Platforms

Windows, Solaris, Linux

Remarks

CanBypassEditSession is a convenience method that returns True if the instances of this object class may be created or updated outside of a Geodatabase edit session (an edit session is started by using the StartEditing method on the IWorkspaceEdit or the StartMultiuserEditing method on the IMultiuserWorkspaceEdit interface).

If True , then applications may update the data in this object class using any of the data updating interfaces and methods described here without starting an edit session. In this case applications are responsible for starting host database transactions as appropriate and for discarding cached object states across transaction boundaries when running on an ArcSDE database.

If False, then applications should always make modifications to the data in this object class within an edit session for correct multi-user behavior and for correct management of database state internally cached by the Geodatabase for the objects in this object class.

This method returns False for network feature classes. By default, this method returns True for non-network custom object classes. The developer of a non-network custom object class can change this behavior by implementing this interface on the class extension associated with the class and returning true for the method.

Specified by:
canBypassEditSession in interface IObjectClassInfo2
Returns:
The canBypassEditSession
Throws:
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.

isCanSelect

public boolean isCanSelect()
                    throws java.io.IOException,
                           AutomationException
Description copied from interface: ITableCapabilities
Indicates if the table supports selection.

Supported Platforms

Windows, Solaris, Linux

Remarks

Use CanSelect to determine if you can open a selection set on the table. A situation where CanSelect will be False is a standalone database table without an OID column.

Specified by:
isCanSelect in interface ITableCapabilities
Returns:
The canSelect
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.