Package org.eclipse.emf.cdo.common.lock

## Interface CDOLockState

- All Known Subinterfaces:
    `InternalCDOLockState`

      public interface CDOLockState

  A client-side representation of all the locks on a single CDOObject.

  As an individual lock is always owned by view, which in turn is owned by a session, the methods on this interface return instances of `CDOLockOwner` which carry that information.

  Since:
    4.1
  Author:
    Caspar De Groot
  No Implement
    This interface is not intended to be implemented by clients.
  No Extend
    This interface is not intended to be extended by clients.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static int` | `DEPTH_INFINITE` |
    `static int` | `DEPTH_NONE` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `getLockedObject()` | Gets a unique identifier for the object that is locked; typically a `CDOID` or a `CDOIDAndBranch`, depending on whether branching support is enabled or not
    `java.util.Set<CDOLockOwner>` | `getReadLockOwners()` |
    `CDOLockOwner` | `getWriteLockOwner()` |
    `CDOLockOwner` | `getWriteOptionOwner()` |
    `boolean` | `isLocked​(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType lockType, CDOLockOwner lockOwner, boolean others)` | If the 'others' argument is `false`, this method returns `true` if this lock is currently held by the requesting CDOView, `false` otherwise.

- - ### Field Detail

    - #### DEPTH_NONE

          static final int DEPTH_NONE

      Since:
        4.4
      See Also:
        Constant Field Values

    - #### DEPTH_INFINITE

          static final int DEPTH_INFINITE

      Since:
        4.4
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### getLockedObject

          java.lang.Object getLockedObject()

      Gets a unique identifier for the object that is locked; typically a `CDOID` or a `CDOIDAndBranch`, depending on whether branching support is enabled or not
      Returns:
        the identifier

    - #### isLocked

          boolean isLocked​(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType lockType,
                           CDOLockOwner lockOwner,
                           boolean others)

      If the 'others' argument is `false`, this method returns `true` if this lock is currently held by the requesting CDOView, `false` otherwise.

      If the 'others' argument is `true`, this method returns `true` if this lock is currently held by another view (i.e. any view different from the requesting one), `false` otherwise.

    - #### getReadLockOwners

          java.util.Set<CDOLockOwner> getReadLockOwners()

    - #### getWriteLockOwner

          CDOLockOwner getWriteLockOwner()

    - #### getWriteOptionOwner

          CDOLockOwner getWriteOptionOwner()