com.esri.arcgis.geodatabase
Interface IArchivableObject

All Superinterfaces:
Serializable
All Known Implementing Classes:
IArchivableObjectProxy

public interface IArchivableObject
extends 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.


Method Summary
 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.
 

Method Detail

isArchiving

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.

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

enableArchiving

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.

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

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.

Parameters:
deleteArchive - The deleteArchive (in)
traverseRelationships - The traverseRelationships (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.