com.esri.arcgis.geodatabase
Class IDataChangesExProxy

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

public class IDataChangesExProxy
extends com.esri.arcgis.interop.Dispatch
implements IDataChangesEx, Serializable

Provides access to members that return information on data changes.

Remarks

The IDataChangesEx interface can be used by application developers to find out what features have been changed with the scope of an edit session or edit operation. The changes returned from a IDataChangesEx object are only accurate to the time of object creation. This means that any edits made after a reference to the IDataChangesEx object will not be reflected when ChangedIDs, Extract, and ExtractEx members are called. To get the most up to date data changes call ModifiedClasses and then Extract or ExtractEx. It is important to keep in mind this has the effect of flushing the edits made within an edit session, giving the application the most recent view of the dataset.

When required to insert, update or delete objects it is strongly recommended the operation is performed using an edit session and within an edit operation. Although the modification can be performed without explicitly starting and stopping an edit operation, the resulting change will be non-deterministic in respect to which state of the database the operation is associated or even the possibility of encountering an error when the change can not be applied to an open state. For these reasons all edits should be performed within an edit operation. The scope of the data changes can not be guaranteed when the ChangedIDs, Extract, and ExtractEx members are called on an edit session with edits made outside of an edit operation.

IDataChangesEx should not be used with non-versioned edit sessions.

Product Availability

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

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IDataChangesExProxy()
           
  IDataChangesExProxy(Object obj)
           
protected IDataChangesExProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 IDifferenceCursor extract(String className, int diffType)
          Get changed rows for a specific class.
 IDifferenceCursorEx extractEx(String className, int diffType)
          Get changed rows for a specific class.
 IFIDSet getChangedIDs(String className, int diffType)
          The IDs of rows that changed during the edit session.
 IEnumBSTR getModifiedClasses()
          The list of tables with edits.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void writeExternal(ObjectOutput out)
           
 
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
 

Constructor Detail

IDataChangesExProxy

public IDataChangesExProxy()

IDataChangesExProxy

public IDataChangesExProxy(Object obj)
                    throws IOException
Throws:
IOException

IDataChangesExProxy

protected IDataChangesExProxy(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

getModifiedClasses

public IEnumBSTR getModifiedClasses()
                             throws IOException,
                                    AutomationException
The list of tables with edits.

Remarks

This property returns a string enumeration with a list of all classes that have been modified.

Product Availability

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

Specified by:
getModifiedClasses in interface IDataChangesEx
Returns:
A reference to a com.esri.arcgis.system.IEnumBSTR
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getChangedIDs

public IFIDSet getChangedIDs(String className,
                             int diffType)
                      throws IOException,
                             AutomationException
The IDs of rows that changed during the edit session.

Product Availability

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

Specified by:
getChangedIDs in interface IDataChangesEx
Parameters:
className - The className (in)
diffType - A com.esri.arcgis.geodatabase.esriDifferenceType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IFIDSet
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extract

public IDifferenceCursor extract(String className,
                                 int diffType)
                          throws IOException,
                                 AutomationException
Get changed rows for a specific class.

Remarks

The Extract method returns a difference cursor corresponding to all rows in a class with a specific esriDifferenceType. IRow objects returned from a difference cursor are meant to be a read only. If row editing is desired the OID returned from the call to IDifferenceCursor::NextRow should be used in a call to the ITable::GetRow or ITable::GetRows methods.

Product Availability

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

Specified by:
extract in interface IDataChangesEx
Parameters:
className - The className (in)
diffType - A com.esri.arcgis.geodatabase.esriDifferenceType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDifferenceCursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extractEx

public IDifferenceCursorEx extractEx(String className,
                                     int diffType)
                              throws IOException,
                                     AutomationException
Get changed rows for a specific class.

Remarks

The ExtractEx method can be used to populate a cursor that can then be leveraged to work through all the differences corresponding to a specific esriDifferenceType at the class level.

Product Availability

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

Specified by:
extractEx in interface IDataChangesEx
Parameters:
className - The className (in)
diffType - A com.esri.arcgis.geodatabase.esriDifferenceType constant (in)
Returns:
A reference to a com.esri.arcgis.geodatabase.IDifferenceCursorEx
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 com.esri.arcgis.interop.Dispatch
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException
ClassNotFoundException