
public class RWOLockManager<OBJECT,CONTEXT> extends Lifecycle implements IRWOLockManager<OBJECT,CONTEXT>
RWOLockManager.LockState class. This class is also repsonsible for
deciding whether or not a new lock can be granted, based on the locks already present.| Modifier and Type | Class and Description |
|---|---|
static class |
RWOLockManager.LockState<OBJECT,CONTEXT>
Represents a combination of locks for one OBJECT.
|
IRWLockManager.LockTypeILifecycle.DeferrableActivationNO_WAIT, WAIT| Constructor and Description |
|---|
RWOLockManager() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
changeContext(CONTEXT oldContext,
CONTEXT newContext) |
protected Map<CONTEXT,Set<RWOLockManager.LockState<OBJECT,CONTEXT>>> |
createContextToLocksMap() |
protected Map<OBJECT,RWOLockManager.LockState<OBJECT,CONTEXT>> |
createObjectToLocksMap() |
protected long |
currentTimeMillis() |
protected Map<CONTEXT,Set<RWOLockManager.LockState<OBJECT,CONTEXT>>> |
getContextToLocksMap()
All access to the returned map must be properly synchronized on this
RWOLockManager. |
RWOLockManager.LockState<OBJECT,CONTEXT> |
getLockState(OBJECT key) |
protected Map<OBJECT,RWOLockManager.LockState<OBJECT,CONTEXT>> |
getObjectToLocksMap()
All access to the returned map must be properly synchronized on this
RWOLockManager. |
boolean |
hasLock(IRWLockManager.LockType type,
CONTEXT context,
OBJECT objectToLock) |
boolean |
hasLockByOthers(IRWLockManager.LockType type,
CONTEXT context,
OBJECT objectToLock) |
void |
lock(IRWLockManager.LockType type,
CONTEXT context,
Collection<? extends OBJECT> objectsToLock,
long timeout) |
void |
lock(IRWLockManager.LockType type,
CONTEXT context,
OBJECT objectToLock,
long timeout) |
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.
|
void |
setLockState(OBJECT key,
RWOLockManager.LockState<OBJECT,CONTEXT> lockState) |
void |
unlock(CONTEXT context)
Attempts to release all locks(read and write) for a given context.
|
void |
unlock(IRWLockManager.LockType type,
CONTEXT context,
Collection<? extends OBJECT> objectsToUnlock)
Attempts to release for a given locktype, context and 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.
|
activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toStringaddListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListeners, lastListenerRemoved, removeListenerclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddListener, getListeners, hasListeners, removeListenerpublic void lock(IRWLockManager.LockType type, CONTEXT context, Collection<? extends OBJECT> objectsToLock, long timeout) throws InterruptedException
lock in interface IRWLockManager<OBJECT,CONTEXT>InterruptedExceptionpublic List<RWOLockManager.LockState<OBJECT,CONTEXT>> lock2(IRWLockManager.LockType type, CONTEXT context, Collection<? extends OBJECT> objectsToLock, long timeout) throws InterruptedException
IRWOLockManagerlock2 in interface IRWOLockManager<OBJECT,CONTEXT>InterruptedExceptionpublic void lock(IRWLockManager.LockType type, CONTEXT context, OBJECT objectToLock, long timeout) throws InterruptedException
lock in interface IRWLockManager<OBJECT,CONTEXT>InterruptedExceptionpublic void unlock(IRWLockManager.LockType type, CONTEXT context, Collection<? extends OBJECT> objectsToUnlock)
IRWLockManagerunlock in interface IRWLockManager<OBJECT,CONTEXT>public List<RWOLockManager.LockState<OBJECT,CONTEXT>> unlock2(CONTEXT context, Collection<? extends OBJECT> objectsToUnlock)
IRWOLockManagerunlock2 in interface IRWOLockManager<OBJECT,CONTEXT>public List<RWOLockManager.LockState<OBJECT,CONTEXT>> unlock2(IRWLockManager.LockType type, CONTEXT context, Collection<? extends OBJECT> objectsToUnlock)
IRWOLockManagerunlock2 in interface IRWOLockManager<OBJECT,CONTEXT>public void unlock(CONTEXT context)
IRWLockManagerunlock in interface IRWLockManager<OBJECT,CONTEXT>public List<RWOLockManager.LockState<OBJECT,CONTEXT>> unlock2(CONTEXT context)
IRWOLockManagerunlock2 in interface IRWOLockManager<OBJECT,CONTEXT>public boolean hasLock(IRWLockManager.LockType type, CONTEXT context, OBJECT objectToLock)
hasLock in interface IRWLockManager<OBJECT,CONTEXT>public boolean hasLockByOthers(IRWLockManager.LockType type, CONTEXT context, OBJECT objectToLock)
hasLockByOthers in interface IRWLockManager<OBJECT,CONTEXT>protected long currentTimeMillis()
protected Map<OBJECT,RWOLockManager.LockState<OBJECT,CONTEXT>> createObjectToLocksMap()
protected Map<CONTEXT,Set<RWOLockManager.LockState<OBJECT,CONTEXT>>> createContextToLocksMap()
protected final Map<OBJECT,RWOLockManager.LockState<OBJECT,CONTEXT>> getObjectToLocksMap()
RWOLockManager.protected final Map<CONTEXT,Set<RWOLockManager.LockState<OBJECT,CONTEXT>>> getContextToLocksMap()
RWOLockManager.public RWOLockManager.LockState<OBJECT,CONTEXT> getLockState(OBJECT key)
public void setLockState(OBJECT key, RWOLockManager.LockState<OBJECT,CONTEXT> lockState)
Copyright (c) 2011, 2012 Eike Stepper (Berlin, Germany) and others.