org.eclipse.net4j.util.concurrent

## Interface IRWOLockManager<OBJECT,CONTEXT>

- All Superinterfaces:
    IRWLockManager<OBJECT,CONTEXT>
  All Known Implementing Classes:
    RWOLockManager

      public interface IRWOLockManager<OBJECT,CONTEXT>
      extends IRWLockManager<OBJECT,CONTEXT>

  A `read/write lock manager` that supports `write option` locks.
  Since:
    3.2
  Author:
    Caspar De Groot

- - ### Nested Class Summary

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

      `IRWLockManager.LockType`

  - ### Field Summary

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

      `NO_WAIT, WAIT`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<RWOLockManager.LockState<OBJECT,CONTEXT>>` | `lock2(IRWLockManager.LockType type, CONTEXT context, Collection<? extends OBJECT> objectsToLock, long timeout)` Adds locks of the given type, owned by the given context on the given objects.
    `List<RWOLockManager.LockState<OBJECT,CONTEXT>>` | `unlock2(CONTEXT context)` Removes all locks owned by the given context on any objects.
    `List<RWOLockManager.LockState<OBJECT,CONTEXT>>` | `unlock2(CONTEXT context, Collection<? extends OBJECT> objectsToUnlock)` Removes all locks owned by the given context.
    `List<RWOLockManager.LockState<OBJECT,CONTEXT>>` | `unlock2(IRWLockManager.LockType type, CONTEXT context, Collection<? extends OBJECT> objectsToUnlock)` Removes all locks of the given type, owned by the given context on the given objects.

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

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

- - ### Method Detail

    - #### lock2

          List<RWOLockManager.LockState<OBJECT,CONTEXT>> lock2(IRWLockManager.LockType type,
                                                               CONTEXT context,
                                                               Collection<? extends OBJECT> objectsToLock,
                                                               long timeout)
                                                        throws InterruptedException

      Adds locks of the given type, owned by the given context on the given objects.
      Throws:
        `InterruptedException`

    - #### unlock2

          List<RWOLockManager.LockState<OBJECT,CONTEXT>> unlock2(IRWLockManager.LockType type,
                                                                 CONTEXT context,
                                                                 Collection<? extends OBJECT> objectsToUnlock)

      Removes all locks of the given type, owned by the given context on the given objects.

    - #### unlock2

          List<RWOLockManager.LockState<OBJECT,CONTEXT>> unlock2(CONTEXT context)

      Removes all locks owned by the given context on any objects.

    - #### unlock2

          List<RWOLockManager.LockState<OBJECT,CONTEXT>> unlock2(CONTEXT context,
                                                                 Collection<? extends OBJECT> objectsToUnlock)

      Removes all locks owned by the given context.

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