Package org.eclipse.emf.cdo.spi.server

# Schnittstelle InternalLockManager

Alle Superschnittstellen:
  `IDurableLockingManager`, `ILockingManager`, `org.eclipse.net4j.util.concurrent.IRWLockManager<Object,IView>`, `org.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView>`

public interface InternalLockManager extends org.eclipse.net4j.util.concurrent.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.

The following features are supported in addition to `IRWOLockManager`:

- Recursive locking
- Distinction between explicit and implicit locking
- Durable locking

Seit:
  3.0
Autor:
  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.

## Verschachtelte Klassen - Übersicht

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.emf.cdo.common.lock.IDurableLockingManager

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

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.emf.cdo.server.ILockingManager

`ILockingManager.DurableViewHandler`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.concurrent.IRWLockManager

`org.eclipse.net4j.util.concurrent.IRWLockManager.LockType`

## Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen org.eclipse.net4j.util.concurrent.IRWOLockManager

`org.eclipse.net4j.util.concurrent.IRWOLockManager.LockDeltaHandler<OBJECT,CONTEXT>`

## Feldübersicht

### Von Schnittstelle geerbte Felder org.eclipse.net4j.util.concurrent.IRWLockManager

`NO_WAIT, WAIT`

### Von Schnittstelle geerbte Felder org.eclipse.net4j.util.concurrent.IRWOLockManager

`ALL_LOCK_TYPES, ALL_LOCKS, ALL_OBJECTS, NO_TIMEOUT`

## Methodenübersicht

Modifizierer und Typ
Methode
Beschreibung
`IDurableLockingManager.LockArea`
`createLockArea(InternalView view)`
`IDurableLockingManager.LockArea`
`createLockArea(InternalView view, String lockAreaID)`
`Object`
`getLockEntryObject(Object key)`
Veraltet.
`IDurableLockingManager.LockGrade`
`getLockGrade(Object key)`
`Object`
`getLockKey(CDOID id, CDOBranch branch)`
`CDOBranch`
`getLockKeyBranch(Object key)`
`CDOID`
`getLockKeyID(Object key)`
`Map<CDOID,IDurableLockingManager.LockGrade>`
`getLocks(IView view)`
`org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>`
`getLockState(Object key)`
`List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>>`
`getLockStates()`
Veraltet.
`void`
`getLockStates(Collection<Object> keys, BiConsumer<Object,org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> consumer)`
`void`
`getLockStates(Consumer<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> consumer)`
`InternalRepository`
`getRepository()`
`void`
`lock(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects, long timeout)`
Veraltet.
`long`
`lock(IView view, Collection<? extends Object> objects, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType lockType, int count, long timeout, boolean recursive, boolean explicit, org.eclipse.net4j.util.concurrent.IRWOLockManager.LockDeltaHandler<Object,IView> deltaHandler, Consumer<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> stateHandler)`
`long`
`lock(IView context, Collection<? extends Object> objects, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType lockType, int count, long timeout, org.eclipse.net4j.util.concurrent.IRWOLockManager.LockDeltaHandler<Object,IView> deltaHandler, Consumer<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> stateHandler)`
Veraltet.
`void`
`lock(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Object objectToLock, long timeout)`
Veraltet.
`void`
`lock(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToLock, long timeout)`
Veraltet.
`List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>>`
`lock2(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects, boolean recursive, long timeout)`
Veraltet.
`List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>>`
`lock2(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToLock, long timeout)`
Veraltet.
`IView`
`openView(ISession session, int viewID, boolean readOnly, String durableLockingID)`
Veraltet.
`void`
`openView(ISession session, int viewID, boolean readOnly, String durableLockingID, Consumer<IView> viewConsumer, BiConsumer<CDOID,IDurableLockingManager.LockGrade> lockConsumer)`
`void`
`reloadLocks()`
`void`
`setLockState(Object key, org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView> lockState)`
Veraltet.
`void`
`setRepository(InternalRepository repository)`
`void`
`unlock(boolean explicit, IView view)`
Veraltet.
`void`
`unlock(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects)`
Veraltet.
`void`
`unlock(IView context)`
Veraltet.
`long`
`unlock(IView view, Collection<? extends Object> objects, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType lockType, int count, boolean recursive, boolean explicit, org.eclipse.net4j.util.concurrent.IRWOLockManager.LockDeltaHandler<Object,IView> deltaHandler, Consumer<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> stateHandler)`
`long`
`unlock(IView context, Collection<? extends Object> objects, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType lockType, int count, org.eclipse.net4j.util.concurrent.IRWOLockManager.LockDeltaHandler<Object,IView> deltaHandler, Consumer<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> stateHandler)`
Veraltet.
`void`
`unlock(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToUnlock)`
Veraltet.
`List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>>`
`unlock2(boolean explicit, IView view)`
Veraltet.
`List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>>`
`unlock2(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects, boolean recursive)`
Veraltet.
`List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>>`
`unlock2(IView context)`
Veraltet.
`List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>>`
`unlock2(IView context, Collection<? extends Object> objectsToUnlock)`
Veraltet.
`List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>>`
`unlock2(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToUnlock)`
Veraltet.
`void`
`updateLockArea(IDurableLockingManager.LockArea lockArea)`

### Von Schnittstelle geerbte Methoden org.eclipse.emf.cdo.common.lock.IDurableLockingManager

`createLockArea, deleteLockArea, getLockArea, getLockAreas`

### Von Schnittstelle geerbte Methoden org.eclipse.emf.cdo.server.ILockingManager

`addDurableViewHandler, getDurableViewHandlers, removeDurableViewHandler`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.concurrent.IRWLockManager

`hasLock, hasLockByOthers`

### Von Schnittstelle geerbte Methoden org.eclipse.net4j.util.concurrent.IRWOLockManager

`getModCount`

## Methodendetails

### getRepository

InternalRepository getRepository()

### setRepository

void setRepository(InternalRepository repository)

### getLockKey

Object getLockKey(CDOID id, CDOBranch branch)

Seit:
  4.0

### getLockKeyID

CDOID getLockKeyID(Object key)

Seit:
  4.0

### getLockKeyBranch

CDOBranch getLockKeyBranch(Object key)

Seit:
  4.15

### getLocks

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

Seit:
  4.0

### lock

long lock(IView view, Collection<? extends Object> objects, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType lockType, int count, long timeout, boolean recursive, boolean explicit, org.eclipse.net4j.util.concurrent.IRWOLockManager.LockDeltaHandler<Object,IView> deltaHandler, Consumer<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> stateHandler) throws InterruptedException, org.eclipse.net4j.util.concurrent.TimeoutRuntimeException

Löst aus:
  `InterruptedException`
  `org.eclipse.net4j.util.concurrent.TimeoutRuntimeException`
Seit:
  4.15

### unlock

long unlock(IView view, Collection<? extends Object> objects, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType lockType, int count, boolean recursive, boolean explicit, org.eclipse.net4j.util.concurrent.IRWOLockManager.LockDeltaHandler<Object,IView> deltaHandler, Consumer<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> stateHandler)

Seit:
  4.15

### createLockArea

IDurableLockingManager.LockArea createLockArea(InternalView view)

Seit:
  4.0

### createLockArea

IDurableLockingManager.LockArea createLockArea(InternalView view, String lockAreaID)

Seit:
  4.1

### updateLockArea

void updateLockArea(IDurableLockingManager.LockArea lockArea)

Seit:
  4.1

### openView

void openView(ISession session, int viewID, boolean readOnly, String durableLockingID, Consumer<IView> viewConsumer, BiConsumer<CDOID,IDurableLockingManager.LockGrade> lockConsumer)

Seit:
  4.15

### getLockGrade

IDurableLockingManager.LockGrade getLockGrade(Object key)

Seit:
  4.1

### getLockState

org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView> getLockState(Object key)

Seit:
  4.1

### getLockStates

void getLockStates(Collection<Object> keys, BiConsumer<Object,org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> consumer)

Seit:
  4.15

### getLockStates

void getLockStates(Consumer<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> consumer)

Seit:
  4.15

### reloadLocks

void reloadLocks()

Seit:
  4.1

### getLockStates

@Deprecated List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> getLockStates()
Veraltet.

### setLockState

@Deprecated void setLockState(Object key, org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView> lockState)
Veraltet.

### getLockEntryObject

@Deprecated Object getLockEntryObject(Object key)
Veraltet.

### lock

@Deprecated void lock(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects, long timeout) throws InterruptedException
Veraltet.

Löst aus:
  `InterruptedException`

### lock

@Deprecated void lock(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToLock, long timeout) throws InterruptedException
Veraltet.

Angegeben von:
  `lock` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWLockManager<Object,IView>`
Angegeben von:
  `lock` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView>`
Löst aus:
  `InterruptedException`

### lock

@Deprecated void lock(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Object objectToLock, long timeout) throws InterruptedException
Veraltet.

Angegeben von:
  `lock` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWLockManager<Object,IView>`
Angegeben von:
  `lock` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView>`
Löst aus:
  `InterruptedException`

### lock2

@Deprecated List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> lock2(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects, boolean recursive, long timeout) throws InterruptedException
Veraltet.

Löst aus:
  `InterruptedException`

### lock2

@Deprecated List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> lock2(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToLock, long timeout) throws InterruptedException
Veraltet.

Angegeben von:
  `lock2` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView>`
Löst aus:
  `InterruptedException`

### unlock

@Deprecated void unlock(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects)
Veraltet.

### unlock

@Deprecated void unlock(boolean explicit, IView view)
Veraltet.

### unlock

@Deprecated void unlock(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToUnlock)
Veraltet.

Angegeben von:
  `unlock` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWLockManager<Object,IView>`
Angegeben von:
  `unlock` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView>`

### unlock

@Deprecated void unlock(IView context)
Veraltet.

Angegeben von:
  `unlock` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWLockManager<Object,IView>`
Angegeben von:
  `unlock` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView>`

### unlock2

@Deprecated List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> unlock2(boolean explicit, IView view)
Veraltet.

### unlock2

@Deprecated List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> unlock2(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects, boolean recursive)
Veraltet.

### unlock2

@Deprecated List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> unlock2(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToUnlock)
Veraltet.

Angegeben von:
  `unlock2` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView>`

### unlock2

@Deprecated List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> unlock2(IView context, Collection<? extends Object> objectsToUnlock)
Veraltet.

Angegeben von:
  `unlock2` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView>`

### unlock2

@Deprecated List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> unlock2(IView context)
Veraltet.

Angegeben von:
  `unlock2` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView>`

### lock

@Deprecated long lock(IView context, Collection<? extends Object> objects, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType lockType, int count, long timeout, org.eclipse.net4j.util.concurrent.IRWOLockManager.LockDeltaHandler<Object,IView> deltaHandler, Consumer<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> stateHandler) throws InterruptedException, org.eclipse.net4j.util.concurrent.TimeoutRuntimeException
Veraltet.

Angegeben von:
  `lock` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView>`
Löst aus:
  `InterruptedException`
  `org.eclipse.net4j.util.concurrent.TimeoutRuntimeException`

### unlock

@Deprecated long unlock(IView context, Collection<? extends Object> objects, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType lockType, int count, org.eclipse.net4j.util.concurrent.IRWOLockManager.LockDeltaHandler<Object,IView> deltaHandler, Consumer<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> stateHandler)
Veraltet.

Angegeben von:
  `unlock` in Schnittstelle `org.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView>`

### openView

@Deprecated IView openView(ISession session, int viewID, boolean readOnly, String durableLockingID)
Veraltet.