com.esri.arcgis.geodatabase
Class IArchivableObjectProxy

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

public class IArchivableObjectProxy
extends com.esri.arcgis.interop.Dispatch
implements IArchivableObject, Serializable

Description

The IArchivableObject interface is supported by a versioned object and provides methods to enable and disable archiving for that particular versioned object.

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
  IArchivableObjectProxy()
           
  IArchivableObjectProxy(Object obj)
           
protected IArchivableObjectProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 void disableArchiving(boolean deleteArchive, boolean traverseRelationships)
          Disable historical archiving for this object.
 void enableArchiving(ISet archiveRegistrationInfos, Object seedTimeStamp, boolean traverseRelationships)
          Enable historical archiving for this object.
 boolean isArchiving()
          True if this object has historical archiving enabled.
 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

IArchivableObjectProxy

public IArchivableObjectProxy()

IArchivableObjectProxy

public IArchivableObjectProxy(Object obj)
                       throws IOException
Throws:
IOException

IArchivableObjectProxy

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

isArchiving

public boolean isArchiving()
                    throws IOException,
                           AutomationException
True if this object has historical archiving enabled.

Remarks

This property returns a boolean that corresponds to whether archiving is enabled for the versioned object.

Product Availability

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

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

enableArchiving

public void enableArchiving(ISet archiveRegistrationInfos,
                            Object seedTimeStamp,
                            boolean traverseRelationships)
                     throws IOException,
                            AutomationException
Enable historical archiving for this object.

Remarks

This method can be used to enable archiving on a versioned object. To enable archiving on a object it has to be registered as versioned and not moving edits to the base table enabled.

If the moveEditsToBase property is enabled on the object class call IVersionedObject3::UnRegisterAsVersioned3(False) to unregister the class as versioned, disabling the moving of edits to the base table, and then call IVersionedObject3::RegisterAsVersioned3(False) to register the object as versioned with the moveEditsToBase property disabled.

When archiving is enabled on a feature dataset the same initial from_date will be used when creating each historical archive class. For instance, all initial dates in the GDB_FROM_DATE attribute will posses the same attribute time at the point of enabling archiving. The seedTimeStamp property can be used to specify a specific timestamp to use when creating a historical archive class. The seedTimeStamp value must be less than the current date and time of the database. If nothing is passed in as an argument the current database moment (timestamp) will be used. If the traverseRelationships argument is set to true the enable archiving call will traverse any relationships the object participates in, enabling archiving on other associated objects. Set this argument to false when it is desired for only this IArchivableObject to be archive enabled.

When creating the archive table, ArcSDE will use the origin table's configuration <keyword>_ARCHIVE as the input keyword for the object's creation. If the <keyword>_ARCHIVE keyword is not present in the DBTUNE, then ArcSDE will default back to the origin table's <keyword>. For additional information on creating and maintaining ArcSDE DBTUNE keywords see the ArcSDE Administrators documentation.

Product Availability

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

Specified by:
enableArchiving in interface IArchivableObject
Parameters:
archiveRegistrationInfos - A reference to a com.esri.arcgis.system.ISet (in)
seedTimeStamp - A Variant (in)
traverseRelationships - The traverseRelationships (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

disableArchiving

public void disableArchiving(boolean deleteArchive,
                             boolean traverseRelationships)
                      throws IOException,
                             AutomationException
Disable historical archiving for this object.

Remarks

The deleteArchive is a boolean argument that should be used to specify if the archive tables will be deleted when archiving is disabled on the class. If the traverseRelationships argument is set to true the disable archiving call will traverse any relationships the object participates in, disabling archiving on other associated objects. Set this argument to false when it is desired for only this IArchivableObject to be disabled.

It is necessary to disable archiving on a class before that class can be unregistered as versioned.

Product Availability

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

Specified by:
disableArchiving in interface IArchivableObject
Parameters:
deleteArchive - The deleteArchive (in)
traverseRelationships - The traverseRelationships (in)
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