com.esri.arcgis.geodatabase
Class IVersionedObject3Proxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.geodatabase.IVersionedObjectProxy
          extended by com.esri.arcgis.geodatabase.IVersionedObject2Proxy
              extended by com.esri.arcgis.geodatabase.IVersionedObject3Proxy
All Implemented Interfaces:
IVersionedObject, IVersionedObject2, IVersionedObject3, Externalizable, Serializable

public class IVersionedObject3Proxy
extends IVersionedObject2Proxy
implements IVersionedObject3, 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.

See Also:
Serialized Form

Field Summary
 boolean noncastable
           
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef
 
Constructor Summary
  IVersionedObject3Proxy()
           
  IVersionedObject3Proxy(Object obj)
           
protected IVersionedObject3Proxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 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.
 void removeListener(String iidStr, Object theListener)
           
 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 class com.esri.arcgis.geodatabase.IVersionedObject2Proxy
isHasUncompressedEdits
 
Methods inherited from class com.esri.arcgis.geodatabase.IVersionedObjectProxy
getVersion, isRegisteredAsVersioned, registerAsVersioned
 
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, optimizedVtblInvoke, queryInterface, readExternal, release, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.geodatabase.IVersionedObject2
isHasUncompressedEdits
 
Methods inherited from interface com.esri.arcgis.geodatabase.IVersionedObject
getVersion, isRegisteredAsVersioned, registerAsVersioned
 

Field Detail

noncastable

public boolean noncastable
Constructor Detail

IVersionedObject3Proxy

public IVersionedObject3Proxy()

IVersionedObject3Proxy

public IVersionedObject3Proxy(Object obj)
                       throws IOException
Throws:
IOException

IVersionedObject3Proxy

protected IVersionedObject3Proxy(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 IVersionedObject2Proxy
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class IVersionedObject2Proxy
Throws:
IOException

supportsMovingEditsToBase

public 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.

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

registerAsVersioned3

public 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.

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

unRegisterAsVersioned3

public 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.

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

getVersionRegistrationInfo

public 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.

Specified by:
getVersionRegistrationInfo in interface IVersionedObject3
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.