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.
Members
Name | Description | |
---|---|---|
GetVersionRegistrationInfo | Indicates if this object is registered as versioned and is moving edits to base. | |
HasUncompressedEdits | Indicates if the object has edits that haven't been compressed yet. | |
IsRegisteredAsVersioned | Indicates if the object is registered as versioned. | |
RegisterAsVersioned | Register/UnRegister the object as being versioned. | |
RegisterAsVersioned3 | Register this object as versioned with the option to move edits to base. | |
SupportsMovingEditsToBase | Indicates if this object supports moving edits to base as a RegisterAsVersioned3 option. | |
UnRegisterAsVersioned3 | UnRegister this object as versioned with the option to compress the Default edits to base. | |
Version | The object's current version. |
IVersionedObject3.GetVersionRegistrationInfo Method
Indicates if this object is registered as versioned and is moving edits to base.
Public Sub GetVersionRegistrationInfo ( _
    ByRef isRegistered As Boolean, _
    ByRef isMovingEditsToBase As Boolean _
)
public void GetVersionRegistrationInfo (
    ref bool isRegistered,
    ref bool isMovingEditsToBase
);
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.
IVersionedObject3.RegisterAsVersioned3 Method
Register this object as versioned with the option to move edits to base.
Public Sub RegisterAsVersioned3 ( _
    ByVal moveEditsToBase As Boolean _
)
public void RegisterAsVersioned3 (
    bool moveEditsToBase
);
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.
IVersionedObject3.SupportsMovingEditsToBase Method
Indicates if this object supports moving edits to base as a RegisterAsVersioned3 option.
Public Function SupportsMovingEditsToBase ( _
) As Boolean
public bool SupportsMovingEditsToBase (
);
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.
IVersionedObject3.UnRegisterAsVersioned3 Method
UnRegister this object as versioned with the option to compress the Default edits to base.
Public Sub UnRegisterAsVersioned3 ( _
    ByVal compressDefault As Boolean _
)
public void UnRegisterAsVersioned3 (
    bool compressDefault
);
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.
Inherited Interfaces
Interfaces | Description |
---|---|
IVersionedObject2 | Provides access to members that manage a versioned object. |
IVersionedObject | Provides access to members that manage a versioned object. |
Classes that implement IVersionedObject3
Classes | Description |
---|