org.eclipse.emf.cdo.spi.server

## Interface InternalLockManager

- All Superinterfaces:
    IDurableLockingManager, ILockingManager, IRWLockManager<Object,IView>, IRWOLockManager<Object,IView>

      public interface InternalLockManager
      extends IRWOLockManager<Object,IView>, ILockingManager

  The type of the to-be-locked objects is either `CDOIDAndBranch` or `CDOID`, depending on whether branching is supported by the repository or not.
  Since:
    3.0
  Author:
    Eike Stepper
  No Implement
    This interface is not intended to be implemented by clients.
  No Extend
    This interface is not intended to be extended by clients.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager

      `IRWLockManager.LockType`

    - ### Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.server.ILockingManager

      `ILockingManager.DurableViewHandler`

    - ### Nested classes/interfaces inherited from interface org.eclipse.emf.cdo.common.lock.IDurableLockingManager

      `IDurableLockingManager.LockArea, IDurableLockingManager.LockAreaAlreadyExistsException, IDurableLockingManager.LockAreaNotFoundException, IDurableLockingManager.LockGrade`

  - ### Field Summary

    - ### Fields inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager

      `NO_WAIT, WAIT`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `IDurableLockingManager.LockArea` | `createLockArea(InternalView view)`
    `IDurableLockingManager.LockArea` | `createLockArea(InternalView view, String lockAreaID)`
    `Object` | `getLockEntryObject(Object key)`
    `IDurableLockingManager.LockGrade` | `getLockGrade(Object key)`
    `Object` | `getLockKey(CDOID id, CDOBranch branch)`
    `CDOID` | `getLockKeyID(Object key)`
    `Map<CDOID,IDurableLockingManager.LockGrade>` | `getLocks(IView view)`
    `RWOLockManager.LockState<Object,IView>` | `getLockState(Object key)`
    `List<RWOLockManager.LockState<Object,IView>>` | `getLockStates()`
    `InternalRepository` | `getRepository()`
    `void` | `lock(boolean explicit, IRWLockManager.LockType type, IView context, Collection<? extends Object> objects, long timeout)` Deprecated.
    `List<RWOLockManager.LockState<Object,IView>>` | `lock2(boolean explicit, IRWLockManager.LockType type, IView context, Collection<? extends Object> objects, boolean recursive, long timeout)`
    `IView` | `openView(ISession session, int viewID, boolean readOnly, String durableLockingID)`
    `void` | `reloadLocks()`
    `void` | `setLockState(Object key, RWOLockManager.LockState<Object,IView> lockState)`
    `void` | `setRepository(InternalRepository repository)`
    `void` | `unlock(boolean explicit, IRWLockManager.LockType type, IView context, Collection<? extends Object> objects)` Deprecated.
    `void` | `unlock(boolean explicit, IView context)` Deprecated.
    `List<RWOLockManager.LockState<Object,IView>>` | `unlock2(boolean explicit, IRWLockManager.LockType type, IView context, Collection<? extends Object> objects, boolean recursive)`
    `List<RWOLockManager.LockState<Object,IView>>` | `unlock2(boolean explicit, IView context)`
    `void` | `updateLockArea(IDurableLockingManager.LockArea lockArea)`

    - ### Methods inherited from interface org.eclipse.net4j.util.concurrent.IRWOLockManager

      `lock2, unlock2, unlock2, unlock2`

    - ### Methods inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager

      `hasLock, hasLockByOthers, lock, lock, unlock, unlock`

    - ### Methods inherited from interface org.eclipse.emf.cdo.server.ILockingManager

      `addDurableViewHandler, getDurableViewHandlers, removeDurableViewHandler`

    - ### Methods inherited from interface org.eclipse.emf.cdo.common.lock.IDurableLockingManager

      `createLockArea, deleteLockArea, getLockArea, getLockAreas`

- - ### Method Detail

    - #### getRepository

          InternalRepository getRepository()

    - #### setRepository

          void setRepository(InternalRepository repository)

    - #### getLockEntryObject

          Object getLockEntryObject(Object key)

      Since:
        4.0

    - #### getLockKey

          Object getLockKey(CDOID id,
                            CDOBranch branch)

      Since:
        4.0

    - #### getLockKeyID

          CDOID getLockKeyID(Object key)

      Since:
        4.0

    - #### getLocks

          Map<CDOID,IDurableLockingManager.LockGrade> getLocks(IView view)

      Since:
        4.0

    - #### lock

          @Deprecated
          void lock(boolean explicit,
                                 IRWLockManager.LockType type,
                                 IView context,
                                 Collection<? extends Object> objects,
                                 long timeout)
                          throws InterruptedException

      Deprecated.
      Throws:
        `InterruptedException`
      Since:
        4.0

    - #### lock2

          List<RWOLockManager.LockState<Object,IView>> lock2(boolean explicit,
                                                             IRWLockManager.LockType type,
                                                             IView context,
                                                             Collection<? extends Object> objects,
                                                             boolean recursive,
                                                             long timeout)
                                                      throws InterruptedException

      Throws:
        `InterruptedException`
      Since:
        4.1

    - #### unlock

          @Deprecated
          void unlock(boolean explicit,
                                   IRWLockManager.LockType type,
                                   IView context,
                                   Collection<? extends Object> objects)

      Deprecated.
      Attempts to release for a given locktype, view and objects.
      Throws:
        `IllegalMonitorStateException` - Unlocking objects without lock.
      Since:
        4.0

    - #### unlock2

          List<RWOLockManager.LockState<Object,IView>> unlock2(boolean explicit,
                                                               IRWLockManager.LockType type,
                                                               IView context,
                                                               Collection<? extends Object> objects,
                                                               boolean recursive)

      Since:
        4.1

    - #### unlock

          @Deprecated
          void unlock(boolean explicit,
                                   IView context)

      Deprecated.
      Attempts to release all locks(read and write) for a given view.
      Since:
        4.0

    - #### unlock2

          List<RWOLockManager.LockState<Object,IView>> unlock2(boolean explicit,
                                                               IView context)

      Since:
        4.1

    - #### createLockArea

          IDurableLockingManager.LockArea createLockArea(InternalView view)

      Since:
        4.0

    - #### createLockArea

          IDurableLockingManager.LockArea createLockArea(InternalView view,
                                                         String lockAreaID)

      Since:
        4.1

    - #### updateLockArea

          void updateLockArea(IDurableLockingManager.LockArea lockArea)

      Since:
        4.1

    - #### openView

          IView openView(ISession session,
                         int viewID,
                         boolean readOnly,
                         String durableLockingID)

      Since:
        4.0

    - #### getLockGrade

          IDurableLockingManager.LockGrade getLockGrade(Object key)

      Since:
        4.1

    - #### getLockState

          RWOLockManager.LockState<Object,IView> getLockState(Object key)

      Since:
        4.1

    - #### getLockStates

          List<RWOLockManager.LockState<Object,IView>> getLockStates()

      Since:
        4.4

    - #### setLockState

          void setLockState(Object key,
                            RWOLockManager.LockState<Object,IView> lockState)

      Since:
        4.1

    - #### reloadLocks

          void reloadLocks()

      Since:
        4.1

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html