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

## Interface IDurableLockingManager

- All Known Subinterfaces:
    `ILissomeStoreAccessor`, `ILockingManager`, `InternalLockManager`, `IStoreAccessor.DurableLocking`, `IStoreAccessor.DurableLocking2`

      public interface IDurableLockingManager

  Manages all persistent aspects of durable CDO views such as `branch point` and acquired locks.
  Since:
    4.0
  Author:
    Eike Stepper

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static interface` | `IDurableLockingManager.LockArea` | Encapsulates the persistable information about a single durable CDO view like `branch point` and acquired locks.
    `static class` | `IDurableLockingManager.LockAreaAlreadyExistsException` | Exception occurs when attempting to create a durable `IDurableLockingManager.LockArea` that already exists.
    `static class` | `IDurableLockingManager.LockAreaNotFoundException` | Thrown if a `lock area` is spcified that does not exist in a CDO `repository`.
    `static class` | `IDurableLockingManager.LockGrade` | Enumerates the possible combinations of read and write locks on a single CDO object.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `IDurableLockingManager.LockArea` | `createLockArea​(java.lang.String userID, CDOBranchPoint branchPoint, boolean readOnly, java.util.Map<CDOID,​IDurableLockingManager.LockGrade> locks)` |
    `void` | `deleteLockArea​(java.lang.String durableLockingID)` |
    `IDurableLockingManager.LockArea` | `getLockArea​(java.lang.String durableLockingID)` | Returns the `lock area` specified by the given durableLockingID, never `null`.
    `void` | `getLockAreas​(java.lang.String userIDPrefix, IDurableLockingManager.LockArea.Handler handler)` |

- - ### Method Detail

    - #### createLockArea

          IDurableLockingManager.LockArea createLockArea​(java.lang.String userID,
                                                         CDOBranchPoint branchPoint,
                                                         boolean readOnly,
                                                         java.util.Map<CDOID,​IDurableLockingManager.LockGrade> locks)
                                                  throws IDurableLockingManager.LockAreaAlreadyExistsException

      Throws:
        `IDurableLockingManager.LockAreaAlreadyExistsException`

    - #### getLockArea

          IDurableLockingManager.LockArea getLockArea​(java.lang.String durableLockingID)
                                               throws IDurableLockingManager.LockAreaNotFoundException

      Returns the `lock area` specified by the given durableLockingID, never `null`.
      Throws:
        `IDurableLockingManager.LockAreaNotFoundException` - if the given durableLockingID is unknown.

    - #### getLockAreas

          void getLockAreas​(java.lang.String userIDPrefix,
                            IDurableLockingManager.LockArea.Handler handler)

    - #### deleteLockArea

          void deleteLockArea​(java.lang.String durableLockingID)