com.esri.arcgis.geodatabase
Interface IClass

All Superinterfaces:
java.io.Serializable
All Known Subinterfaces:
IFeatureClass, INetworkClass, IObjectClass, ISchematicDiagramClass, ISchematicElementClass, ITable
All Known Implementing Classes:
AttributedRelationshipClass, CadFeatureLayer, CoverageAnnotationLayer, DimensionLayer, FDOGraphicsLayer, FeatureClass, FeatureLayer, GdbRasterCatalogLayer, IClassProxy, IFeatureClassProxy, IMSSubFeatureLayer, INetworkClassProxy, IObjectClassProxy, ISchematicDiagramClassProxy, ISchematicElementClassProxy, ITableProxy, NAClass, NetCDFFeatureClass, NetCDFRasterBand, NetCDFTable, ObjectClass, RasterBand, RasterCatalog, RasterLayer, RelQueryTable, RouteEventSource, SchematicDiagramClass, SchematicElementClass, StandaloneTable, Table, TemporalFeatureClass, TemporalFeatureLayer, XYEventSource

public interface IClass
extends java.io.Serializable

Provides access to members that return information about and manage the class.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Remarks

All tables support the IClass interface.

The CLSID property returns the globally unique identifier for the software component (COM coclass) representing the row objects stored and handed out by this table. Examples of the value of this property include the CLSIDs representing esriGeoDatabase.Row, esriGeoDatabase.Object, esriGeoDatabase.Feature, and esriGeoDatabase.AttributedRelationship.

The EXTCLSID property returns the globally unique identifier for the software component (COM coclass) representing the class extension associated with this Table. Class extensions are a mechanism whereby a developer can associate additional class level methods with an ObjectClass in the database.

The CLSID and EXTCLSID and other similar properties for a Table are stored in the geodatabase as part of the data dictionary information for the database. These properties link the behavior of the class (as implemented by software components in a DLL) with the data in the table.

The Extension property returns an interface on the ClassExtension associated with this Table.

The HasOID property may be used to test if this table has an Object ID column. Tables representing object classes and attributed relationship classes in a geodatabase will have an Object ID column whose values are unique and are assigned by the geodatabase as new objects and attributed relationships are created. The “Register With Geodatabase” command available on the context menu of a table in ArcCatalog can be used to register a pre-existing table in an RDBMS as an object class, this process will add an Object ID column to the table if needed.

The IClass interface also contains methods (inherited by ITable) to manage the collection of fields and indexes for a Table.

See Also:
ITable

Method Summary
 void addField(IField field)
          Adds a field to this object class.
 void addIndex(IIndex index)
          Adds an index to this object class.
 void deleteField(IField field)
          Deletes a field from this object class.
 void deleteIndex(IIndex index)
          Deletes an index from this object class.
 int findField(java.lang.String name)
          The index of the field with the specified name.
 IUID getCLSID()
          The GUID for the COM Class (CoClass) corresponding to instances of this object class.
 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.
 IIndexes getIndexes()
          The indexes collection for this object class.
 java.lang.String getOIDFieldName()
          The name of the field corresponding to the OID.
 boolean isHasOID()
          Indicates if the class has an object identity (OID) field.
 

Method Detail

findField

public int findField(java.lang.String name)
              throws java.io.IOException,
                     AutomationException
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.

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

getFields

public IFields getFields()
                  throws java.io.IOException,
                         AutomationException
The fields collection for this object class.

Supported Platforms

Windows, Solaris, Linux

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

getIndexes

public IIndexes getIndexes()
                    throws java.io.IOException,
                           AutomationException
The indexes collection for this object class.

Supported Platforms

Windows, Solaris, Linux

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
Adds a field to this object class.

Supported Platforms

Windows, Solaris, Linux

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
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:

 

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
Adds an index to this object class.

Supported Platforms

Windows, Solaris, Linux

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
Deletes an index from this object class.

Supported Platforms

Windows, Solaris, Linux

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
Indicates if the class has an object identity (OID) field.

Supported Platforms

Windows, Solaris, Linux

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
The name of the field corresponding to the OID.

Supported Platforms

Windows, Solaris, Linux

Returns:
The name
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCLSID

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

Supported Platforms

Windows, Solaris, Linux

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
The GUID for the COM Class (CoClass) corresponding to the class extension for this object class.

Supported Platforms

Windows, Solaris, Linux

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.

getExtension

public java.lang.Object getExtension()
                              throws java.io.IOException,
                                     AutomationException
The extension for this object class.

Supported Platforms

Windows, Solaris, Linux

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
The extension properties for this object class.

Supported Platforms

Windows, Solaris, Linux

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