Package org.eclipse.emf.cdo.spi.server
Interface InternalLockManager
- All Superinterfaces:
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
- 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.emf.cdo.common.lock.IDurableLockingManager
IDurableLockingManager.LockArea, IDurableLockingManager.LockAreaAlreadyExistsException, IDurableLockingManager.LockAreaNotFoundException, IDurableLockingManager.LockGradeNested classes/interfaces inherited from interface org.eclipse.emf.cdo.server.ILockingManager
ILockingManager.DurableViewHandlerNested classes/interfaces inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager
org.eclipse.net4j.util.concurrent.IRWLockManager.LockTypeNested classes/interfaces inherited from interface org.eclipse.net4j.util.concurrent.IRWOLockManager
org.eclipse.net4j.util.concurrent.IRWOLockManager.LockDeltaHandler<OBJECT,CONTEXT> -
Field Summary
Fields inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager
NO_WAIT, WAITFields inherited from interface org.eclipse.net4j.util.concurrent.IRWOLockManager
ALL_LOCK_TYPES, ALL_LOCKS, ALL_OBJECTS, NO_TIMEOUT -
Method Summary
Modifier and TypeMethodDescriptioncreateLockArea(InternalView view) createLockArea(InternalView view, String lockAreaID) getLockEntryObject(Object key) Deprecated.getLockGrade(Object key) getLockKey(CDOID id) Same as callinggetLockKey(CDOID, CDOBranch)withnullas branch.getLockKey(CDOID id, CDOBranch branch) Returns the lock key for the given ID.getLockKeyBranch(Object key) getLockKeyID(Object key) getLockOwner(String durableLockingID) getLockOwners(Object key, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType... lockTypes) Returns the set of views that own a lock of one of the specified types on the given key.getLockState(Object key) Deprecated.voidgetLockStates(Collection<Object> keys, BiConsumer<Object, org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object, IView>> consumer) voidgetLockStates(Consumer<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object, IView>> consumer) voidlock(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects, long timeout) Deprecated.longlock(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) longlock(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) Deprecated.voidlock(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Object objectToLock, long timeout) Deprecated.voidlock(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToLock, long timeout) Deprecated.lock2(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects, boolean recursive, long timeout) Deprecated.lock2(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToLock, long timeout) Deprecated.Deprecated.voidopenView(ISession session, int viewID, boolean readOnly, String durableLockingID, Consumer<IView> viewConsumer, BiConsumer<CDOID, IDurableLockingManager.LockGrade> lockConsumer) voidvoidsetLockState(Object key, org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object, IView> lockState) Deprecated.voidsetRepository(InternalRepository repository) voidDeprecated.voidunlock(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects) Deprecated.voidDeprecated.longunlock(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) longunlock(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) Deprecated.voidunlock(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToUnlock) Deprecated.Deprecated.unlock2(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects, boolean recursive) Deprecated.Deprecated.unlock2(IView context, Collection<? extends Object> objectsToUnlock) Deprecated.unlock2(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToUnlock) Deprecated.voidMethods inherited from interface org.eclipse.emf.cdo.common.lock.IDurableLockingManager
createLockArea, deleteLockArea, getLockArea, getLockAreasMethods inherited from interface org.eclipse.emf.cdo.server.ILockingManager
addDurableViewHandler, getDurableViewHandlers, removeDurableViewHandlerMethods inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager
hasLock, hasLockByOthersMethods inherited from interface org.eclipse.net4j.util.concurrent.IRWOLockManager
getModCount
-
Method Details
-
getRepository
InternalRepository getRepository() -
setRepository
-
getLockKey
Same as callinggetLockKey(CDOID, CDOBranch)withnullas branch.- Since:
- 4.25
-
getLockKey
Returns the lock key for the given ID. If the repository supports branching, the returned key is of typeCDOIDAndBranch, otherwise it is of typeCDOID.- Parameters:
id- the ID of the object to be locked.branch- the branch on which the object to be locked resides. May benullto indicate the main branch (for example if the repository does not support branching).- Since:
- 4.0
-
getLockKeyID
- Since:
- 4.0
- See Also:
-
getLockKeyBranch
- Since:
- 4.15
- See Also:
-
getLocks
- Since:
- 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, throws InterruptedException, org.eclipse.net4j.util.concurrent.TimeoutRuntimeExceptionIView>> stateHandler) - Throws:
InterruptedExceptionorg.eclipse.net4j.util.concurrent.TimeoutRuntimeException- Since:
- 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) - Since:
- 4.15
-
createLockArea
- Since:
- 4.0
-
createLockArea
- Since:
- 4.1
-
updateLockArea
- Since:
- 4.1
-
openView
void openView(ISession session, int viewID, boolean readOnly, String durableLockingID, Consumer<IView> viewConsumer, BiConsumer<CDOID, IDurableLockingManager.LockGrade> lockConsumer) - Since:
- 4.15
-
getLockGrade
- Since:
- 4.1
- See Also:
-
getLockState
- Since:
- 4.1
- See Also:
-
getLockStates
void getLockStates(Collection<Object> keys, BiConsumer<Object, org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object, IView>> consumer) - Since:
- 4.15
- See Also:
-
getLockStates
void getLockStates(Consumer<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object, IView>> consumer) - Since:
- 4.15
-
getLockOwners
Set<IView> getLockOwners(Object key, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType... lockTypes) Returns the set of views that own a lock of one of the specified types on the given key. If no lock types are specified, all lock types are considered. If no view owns a lock of the specified types, an empty set is returned.- Since:
- 4.25
- See Also:
-
getLockOwner
- Since:
- 4.25
-
reloadLocks
void reloadLocks()- Since:
- 4.1
-
getLockStates
@Deprecated List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> getLockStates()Deprecated. -
setLockState
@Deprecated void setLockState(Object key, org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object, IView> lockState) Deprecated. -
getLockEntryObject
Deprecated. -
lock
@Deprecated void lock(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects, long timeout) throws InterruptedException Deprecated.- Throws:
InterruptedException
-
lock
@Deprecated void lock(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToLock, long timeout) throws InterruptedException Deprecated.- Specified by:
lockin interfaceorg.eclipse.net4j.util.concurrent.IRWLockManager<Object,IView> - Specified by:
lockin interfaceorg.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView> - Throws:
InterruptedException
-
lock
@Deprecated void lock(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Object objectToLock, long timeout) throws InterruptedException Deprecated.- Specified by:
lockin interfaceorg.eclipse.net4j.util.concurrent.IRWLockManager<Object,IView> - Specified by:
lockin interfaceorg.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView> - Throws:
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 Deprecated.- Throws:
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 Deprecated.- Specified by:
lock2in interfaceorg.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView> - Throws:
InterruptedException
-
unlock
@Deprecated void unlock(boolean explicit, org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView view, Collection<? extends Object> objects) Deprecated. -
unlock
Deprecated. -
unlock
@Deprecated void unlock(org.eclipse.net4j.util.concurrent.IRWLockManager.LockType type, IView context, Collection<? extends Object> objectsToUnlock) Deprecated. -
unlock
Deprecated. -
unlock2
@Deprecated List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> unlock2(boolean explicit, IView view) Deprecated. -
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) Deprecated. -
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) Deprecated. -
unlock2
@Deprecated List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> unlock2(IView context, Collection<? extends Object> objectsToUnlock) Deprecated. -
unlock2
@Deprecated List<org.eclipse.net4j.util.concurrent.RWOLockManager.LockState<Object,IView>> unlock2(IView context) Deprecated. -
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, throws InterruptedException, org.eclipse.net4j.util.concurrent.TimeoutRuntimeExceptionIView>> stateHandler) Deprecated.- Specified by:
lockin interfaceorg.eclipse.net4j.util.concurrent.IRWOLockManager<Object,IView> - Throws:
InterruptedExceptionorg.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) Deprecated. -
openView
Deprecated.
-