com.esri.arcgis.geodatabase
Class IObjectClassInfo2Proxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.geodatabase.IObjectClassInfo2Proxy
All Implemented Interfaces:
IObjectClassInfo2, Externalizable, Serializable

public class IObjectClassInfo2Proxy
extends com.esri.arcgis.interop.Dispatch
implements IObjectClassInfo2, Serializable

Provides access to method that indicates whether an object can be modified outside of an edit session.

Remarks

The IObjectClassInfo and IObjectClassInfo2 interfaces provide some additional information to IObjectClass on object classes that may be of interest to some applications.

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

Several geoprocessing tools (i.e. Calculate Field, Append, and Add Field) use insert cursors. For an extended class with custom behavior defined by the IObjectClassEvents interface to operate correctly with these tools, CanBypassStoreMethod should return false.

Product Availability

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

See Also:
IObjectClass, Serialized Form

Field Summary
 boolean noncastable
           
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef
 
Constructor Summary
  IObjectClassInfo2Proxy()
           
  IObjectClassInfo2Proxy(Object obj)
           
protected IObjectClassInfo2Proxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 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.
 void removeListener(String iidStr, Object theListener)
           
 
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, optimizedVtblInvoke, queryInterface, readExternal, release, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

noncastable

public boolean noncastable
Constructor Detail

IObjectClassInfo2Proxy

public IObjectClassInfo2Proxy()

IObjectClassInfo2Proxy

public IObjectClassInfo2Proxy(Object obj)
                       throws IOException
Throws:
IOException

IObjectClassInfo2Proxy

protected IObjectClassInfo2Proxy(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 com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

canBypassStoreMethod

public boolean canBypassStoreMethod()
                             throws IOException,
                                    AutomationException
Indicates if updates to objects can bypass the Store method and OnChange notifications for efficiency.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

canBypassEditSession

public boolean canBypassEditSession()
                             throws IOException,
                                    AutomationException
Indicates if updates to objects can be safely made outside of an edit session.

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.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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