|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.interop.Dispatch com.esri.arcgis.geodatabaseextensions.ICadastralFabricLocksProxy
public class ICadastralFabricLocksProxy
Provides access to members that assign object locks for a cadastral job.
In the enterprise, multi-user geodatabase environment, a specialized implementation for reconciling versions is in place for cadastral fabrics. The implementation uses two distinct parts for handling fabric class attributes on lines and parcels, on the one hand, and for handling coordinates and geometries for fabric classes on the other.
In the first part, the cadastral fabric provides a pessimistic-locking mechanism that prevents conflicts in the edits of parcel attributes, such as distance and bearing values on lines, or the parcel area name value, for example. This avoids the need to do conflict resolution on these attributes when reconciling versions in an enterprise SDE environment.
The second part of this implementation allows coordinates and geometries to be posted without conflicts, in a strategy of last-one-in-wins. This avoids the scenario of reconciling conflicts for vast numbers of points that have been changed in a least squares adjustment in two different versions. Note this does not apply to the attribute values on the lines and parcel fabric classes, these latter being handled under the aforementioned strategy of pessimistic locking.
All Cadastral jobs are defined by a set of Job parcels. Job Parcels can be flagged as Edit Parcels. In order to change the attributes of the line or parcel fabric classes, the associated parcels must be set as Edit parcels, giving them exclusive edits.
Soft locks refers to parcels that can be taken and used as an edit parcel in another job.
Soft locks are:
When using this interface you need to first set the LockingJob property. All other methods rely on this property being set and are applied to the job that is set by this property.
This interface manages the information held in the JobObjects table and in the Jobs table.
Field Summary | |
---|---|
boolean |
noncastable
|
Fields inherited from class com.esri.arcgis.interop.Dispatch |
---|
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef |
Constructor Summary | |
---|---|
|
ICadastralFabricLocksProxy()
|
|
ICadastralFabricLocksProxy(Object obj)
|
protected |
ICadastralFabricLocksProxy(Object obj,
String iid)
|
Method Summary | |
---|---|
void |
acquireLocks(ILongArray pLocks,
boolean takeSoftLocks,
ILongArray[] ppLocksInConflict,
ILongArray[] ppSoftLocksInConflict)
Acquire locks on the LockingJob. |
void |
addListener(String iidStr,
Object theListener,
Object theSource)
|
boolean |
lockJob()
Lock current job. |
void |
releaseJobLock(boolean forceRelease)
Release current job's lock. |
void |
removeListener(String iidStr,
Object theListener)
|
void |
setLockingJob(String rhs1)
The name of the Job to apply locks on. |
void |
undoLastAcquiredLocks()
Rolls back most recent set of acquired locks, until last edit operation. |
void |
validateJobLock(boolean[] locked,
String[] lockingMachine,
int[] lockingPID)
Correct orphan job locks for current machine, and return current lock information. |
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 |
Field Detail |
---|
public boolean noncastable
Constructor Detail |
---|
public ICadastralFabricLocksProxy()
public ICadastralFabricLocksProxy(Object obj) throws IOException
IOException
protected ICadastralFabricLocksProxy(Object obj, String iid) throws IOException
IOException
Method Detail |
---|
public void addListener(String iidStr, Object theListener, Object theSource) throws IOException
addListener
in class com.esri.arcgis.interop.Dispatch
IOException
public void removeListener(String iidStr, Object theListener) throws IOException
removeListener
in class com.esri.arcgis.interop.Dispatch
IOException
public void setLockingJob(String rhs1) throws IOException, AutomationException
The Cadastral Job on which all methods will be applied.
When using this interface you need to first set this property, before using any of the other methods.
setLockingJob
in interface ICadastralFabricLocks
rhs1
- The rhs1 (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void acquireLocks(ILongArray pLocks, boolean takeSoftLocks, ILongArray[] ppLocksInConflict, ILongArray[] ppSoftLocksInConflict) throws IOException, AutomationException
Add the given parcel ids as members of the current job.
The array of locks refer to the object ids of parcels in the parcel fabric class.
Soft locks refers to parcels that can be taken and used as an edit parcel in another job.
Soft locks are:
Set the parameter to True if you'd like to automatically get these locks for the current Job.
acquireLocks
in interface ICadastralFabricLocks
pLocks
- A reference to a com.esri.arcgis.system.ILongArray (in)takeSoftLocks
- The takeSoftLocks (in)ppLocksInConflict
- A reference to a com.esri.arcgis.system.ILongArray (in/out: use single element array)ppSoftLocksInConflict
- A reference to a com.esri.arcgis.system.ILongArray (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void undoLastAcquiredLocks() throws IOException, AutomationException
Undo the last set of locks acquired. This action is applied up until the last edit operation.
undoLastAcquiredLocks
in interface ICadastralFabricLocks
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean lockJob() throws IOException, AutomationException
Enters the MachineName and ProcessID values into the Jobs table.
This method is usually the next call after setting the LockingJob. If the method returns FALSE, then the lock is already held by another machine or process id.
lockJob
in interface ICadastralFabricLocks
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void releaseJobLock(boolean forceRelease) throws IOException, AutomationException
Removes the MachineName and ProcessID values out of the Jobs table.
releaseJobLock
in interface ICadastralFabricLocks
forceRelease
- The forceRelease (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void validateJobLock(boolean[] locked, String[] lockingMachine, int[] lockingPID) throws IOException, AutomationException
Validates the MachineName and ProcessID values in the Jobs table.
validateJobLock
in interface ICadastralFabricLocks
locked
- The locked (in/out: use single element array)lockingMachine
- The lockingMachine (in/out: use single element array)lockingPID
- The lockingPID (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |