com.esri.arcgis.geodatabase
Class IObjectClassProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.geodatabase.IClassProxy
          extended by com.esri.arcgis.geodatabase.IObjectClassProxy
All Implemented Interfaces:
IClass, IObjectClass, Externalizable, Serializable
Direct Known Subclasses:
IFeatureClassProxy, ISchematicDiagramClassProxy, ISchematicElementClassProxy

public class IObjectClassProxy
extends IClassProxy
implements IObjectClass, Serializable

Provides access to members that return information about an object class.

Remarks

All object classes support the IObjectClass interface and this interface inherits from the IClass interface. The CLSID, EXTCLSID, and Extension for an ObjectClass may be obtained via the corresponding methods inherited from IClass.

For programming convenience, pre-existing tables in the host RDBMS also support the IObjectClass interface even if they have not been registered with the Geodatabase. Such tables can be distinguished from registered object classes because they return an ObjectClassID of -1 and return False to the HasOID method. New object classes in a Geodatabase that are created using the CreateTable method on the IFeatureWorkspace interface are automatically registered with the Geodatabase and assigned an object class ID.

If no AliasName has been defined for an object class, then the AliasName is equal to the Name.

When To Use

The IObjectClass interface is the main interface used to get the properties of an object class in a geodatabase. An object class is a feature class or table that has been registered with the geodatabase. For example, you can use the IObjectClass interface to get a list of all the relationship classes in which an object class participates.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

See Also:
IObjectClass, Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IObjectClassProxy()
           
  IObjectClassProxy(Object obj)
           
protected IObjectClassProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 String getAliasName()
          The alias name of the object class.
 int getObjectClassID()
          The unique ID for the object class.
 IEnumRelationshipClass getRelationshipClasses(int role)
          The relationship classes in which this object class participates in for the specified role.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.geodatabase.IClassProxy
addField, addIndex, deleteField, deleteIndex, findField, getCLSID, getEXTCLSID, getExtension, getExtensionProperties, getFields, getIndexes, getOIDFieldName, isHasOID
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.geodatabase.IClass
addField, addIndex, deleteField, deleteIndex, findField, getCLSID, getEXTCLSID, getExtension, getExtensionProperties, getFields, getIndexes, getOIDFieldName, isHasOID
 

Constructor Detail

IObjectClassProxy

public IObjectClassProxy()

IObjectClassProxy

public IObjectClassProxy(Object obj)
                  throws IOException
Throws:
IOException

IObjectClassProxy

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

addListener

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

removeListener

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

getObjectClassID

public int getObjectClassID()
                     throws IOException,
                            AutomationException
The unique ID for the object class.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getRelationshipClasses

public IEnumRelationshipClass getRelationshipClasses(int role)
                                              throws IOException,
                                                     AutomationException
The relationship classes in which this object class participates in for the specified role.

Product Availability

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

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:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAliasName

public String getAliasName()
                    throws IOException,
                           AutomationException
The alias name of the object class.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

writeExternal

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

readExternal

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