com.esri.arcgis.geodatabase
Class IVersionEdit2Proxy
java.lang.Object
com.esri.arcgis.interop.Dispatch
com.esri.arcgis.geodatabase.IVersionEditProxy
com.esri.arcgis.geodatabase.IVersionEdit2Proxy
- All Implemented Interfaces:
- IVersionEdit, IVersionEdit2, Externalizable, Serializable
- Direct Known Subclasses:
- IVersionEdit3Proxy
public class IVersionEdit2Proxy
- extends IVersionEditProxy
- implements IVersionEdit2, Serializable
Provides access to members that return information about versions and posting of versions.
Superseded By
IVersionEdit4
Description
The IVersionEdit2 interface is used to reconcile a version with a target version and optionally not obtain version locks during the process. Once reconciled, the object provides the ability to work with representations of the version prior to start editing, the pre-reconcile version, the reconcile version, and the common ancestor version for conflict resolution.
Note: If the lock is not obtained, the version can still be posted, but there will be no guarantee that the target version has not been modified and saved since the reconcile completed. In this case, an FDO_E_VERSION_REDEFINED error will be raised informing you that the version has been redefined. This error implies that you will need to re-execute the reconcile. If the intent is to post following a successful reconcile it is recommended that version locks are obtained.
Product Availability
Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.
Supported Platforms
Windows, Solaris, Linux
- See Also:
- Serialized Form
| Fields inherited from class com.esri.arcgis.interop.Dispatch |
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E |
| 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 |
IVersionEdit2Proxy
public IVersionEdit2Proxy()
IVersionEdit2Proxy
public IVersionEdit2Proxy(Object obj)
throws IOException
- Throws:
IOException
IVersionEdit2Proxy
protected IVersionEdit2Proxy(Object obj,
String iid)
throws IOException
- Throws:
IOException
addListener
public void addListener(String iidStr,
Object theListener,
Object theSource)
throws IOException
- Overrides:
addListener in class IVersionEditProxy
- Throws:
IOException
removeListener
public void removeListener(String iidStr,
Object theListener)
throws IOException
- Overrides:
removeListener in class IVersionEditProxy
- Throws:
IOException
reconcile2
public boolean reconcile2(String versionName,
boolean acquireLock)
throws IOException,
AutomationException
- Reconciles the current version with a target version.
Remarks
The Reconcile2 function reconciles the current edit version with the specified target version. The target version must be an ancestor of the current version or an error will be returned. The target version name passed in is case-sensitive and should take the form {owner}.{version_name} for example, SDE.DEFAULT. The Boolean argument specifies if locks should be obtained or not - true acquires the lock, false does not acquire the locks.
If the returned Boolean value from Reconcile2 is TRUE, then conflicts were detected. Otherwise no conflicts were detected.
A reconcile can only be performed if no other users are currently editing the version. As well, the target version cannot concurrently be reconciling by a second application. See IVersion::IVersionLocks for additional information on detecting version locks.
The Reconcile2 method provides the ability to either acquire or not acquire the version locks during the reconcile process. If the locks are not acquired the version is able to be reconciled in parallel when other versions are currently being reconciled. One may desire this functionality when there is no intention of posting the version after the reconcile process. If the intention is to "post" the version after performing the reconcile, it is strongly recommended that the locks are acquired.
If one does attempt to post after performing the reconcile, there is a chance that the target version might have been modified since the reconcile - in this case, the version will have to be re-reconciled. Therefore, the first reconcile is a waste of server and client system resources.
Calling Reconcile will abort the current edit operation therefore any edits made within an open edit operation when reconcile is called will be lost. If there is an open edit operation it is good practice to call StopEditOperation prior to calling Reconcile
Product Availability
Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.
Supported Platforms
Windows, Solaris, Linux
- Specified by:
reconcile2 in interface IVersionEdit2
- Parameters:
versionName - The versionName (in)acquireLock - The acquireLock (in)
- Returns:
- The foundConflicts
- 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 IVersionEditProxy
- Throws:
IOException
readExternal
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
- Specified by:
readExternal in interface Externalizable- Overrides:
readExternal in class IVersionEditProxy
- Throws:
IOException
ClassNotFoundException