com.esri.arcgis.geodatabase
Interface IVersionedObject3

All Superinterfaces:
IVersionedObject, IVersionedObject2, Serializable
All Known Implementing Classes:
IVersionedObject3Proxy

public interface IVersionedObject3
extends IVersionedObject2, Serializable

Provides access to members that manage a versioned object.

Description

The IVersionedObject3 interface is used for determining the current version of an object. It can also be used to register and unregister an object as versioned. This interface also provides the ability to set the properties of the versioned object.

Product Availability

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


Method Summary
 void getVersionRegistrationInfo(boolean[] isRegistered, boolean[] isMovingEditsToBase)
          Indicates if this object is registered as versioned and is moving edits to base.
 void registerAsVersioned3(boolean moveEditsToBase)
          Register this object as versioned with the option to move edits to base.
 boolean supportsMovingEditsToBase()
          Indicates if this object supports moving edits to base as a RegisterAsVersioned3 option.
 void unRegisterAsVersioned3(boolean compressDefault)
          UnRegister this object as versioned with the option to compress the Default edits to base.
 
Methods inherited from interface com.esri.arcgis.geodatabase.IVersionedObject2
isHasUncompressedEdits
 
Methods inherited from interface com.esri.arcgis.geodatabase.IVersionedObject
getVersion, isRegisteredAsVersioned, registerAsVersioned
 

Method Detail

supportsMovingEditsToBase

boolean supportsMovingEditsToBase()
                                  throws IOException,
                                         AutomationException
Indicates if this object supports moving edits to base as a RegisterAsVersioned3 option.

Remarks

The SupportsMovingToBase property returns a boolean which represents if the current dataset supports this versioning property. Complex datasets like those involved in a topology or geometric network will not support moving edits to the base table to the base table when versioned.

Product Availability

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

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

registerAsVersioned3

void registerAsVersioned3(boolean moveEditsToBase)
                          throws IOException,
                                 AutomationException
Register this object as versioned with the option to move edits to base.

Remarks

The RegisterAsVersioned3 method allows one to register an object as versioned with the ability of editing the data in both multiuser edit session modes. The MoveEditsToBase property can be set to true if the desire is push all saved edits to the base table when save is called. Whenever you save edits to the DEFAULT version, either by editing it directly or merging in changes from another version, the edits apply directly to the data source. With the MoveEditsToBase set to true the database is edited directly. The edits do not remain in delta tables as is the case when the data is registered as versioned with this property set to false. This allows for easy integration between ESRI applications and non-ESRI applications.

If it is the desire to enable archiving on the versioned object class it must be registered with the MoveEditsToBase property set to false. For more information on this see IArchivableObject::EnableArchiving.

Complex data such as Geometric Networks and Topologies do not support the moving of edits to base and for this reason they cannot be registered as versioned with the moving of edits to base.

Only the owner can register or unregister the object.

By programmatically registering a class participating in a geometric network as versioned it does not guarantee the entire geometric network including other participating classes will also be registered. It is then recommended the registration take place at the feature dataset level rather than on the individual feature class. This workflow is exposed by default through the user interface in ArcCatalog. If there is a need to register individual classes as versioned within a feature dataset without registering the entire dataset it is crucial the every class participating in a geometric network, including the geometric network itself, is explicitly registered individually.

Product Availability

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

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

unRegisterAsVersioned3

void unRegisterAsVersioned3(boolean compressDefault)
                            throws IOException,
                                   AutomationException
UnRegister this object as versioned with the option to compress the Default edits to base.

Remarks

Unregistering an object class as versioned permanently drops the object's delta tables. To preserve the edits, the boolean argument compressDefault can be used to compress all outstanding edits in the default version to the base tables. Outstanding edits in versions other than default will be lost when the object class is unregistered as versioned.

Only the owner can register or unregister the object.

Archiving must first be disabaled on a class before it can be unregistered as versioned. This situation only applies to classes that have be registered as versioned with the MoveEditsToBase option set to false through the IVersionObject3.RegisterAsVersioned3 method.

Product Availability

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

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

getVersionRegistrationInfo

void getVersionRegistrationInfo(boolean[] isRegistered,
                                boolean[] isMovingEditsToBase)
                                throws IOException,
                                       AutomationException
Indicates if this object is registered as versioned and is moving edits to base.

Remarks

The GetVersionRegistrationInfo method provides access to the properties of the versioned object. The IsRegistered argument is a boolean that represents if the object is versioned. The isMovingEditsToBase argument represents if the versioned object is currently moving edits to base. This argument must be set to false during registration in order to enable archiving on the versioned object.

Product Availability

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

Parameters:
isRegistered - The isRegistered (out: use single element array)
isMovingEditsToBase - The isMovingEditsToBase (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.