public class RWOLockManager<OBJECT,CONTEXT> extends Lifecycle implements IRWOLockManager<OBJECT,CONTEXT>
RWOLockManager.LockState class. This class is also responsible 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 java.util.Map<CONTEXT,java.util.Set<RWOLockManager.LockState<OBJECT,CONTEXT>>> |
createContextToLocksMap() |
protected java.util.Map<OBJECT,RWOLockManager.LockState<OBJECT,CONTEXT>> |
createObjectToLocksMap() |
protected long |
currentTimeMillis() |
protected java.util.Map<CONTEXT,java.util.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) |
java.util.List<RWOLockManager.LockState<OBJECT,CONTEXT>> |
getLockStates() |
protected java.util.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,
java.util.Collection<? extends OBJECT> objectsToLock,
long timeout) |
void |
lock(IRWLockManager.LockType type,
CONTEXT context,
OBJECT objectToLock,
long timeout) |
java.util.List<RWOLockManager.LockState<OBJECT,CONTEXT>> |
lock2(IRWLockManager.LockType type,
CONTEXT context,
java.util.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) |
static void |
setUnlockAll(boolean on) |
void |
unlock(CONTEXT context)
Attempts to release all locks(read and write) for a given context.
|
void |
unlock(IRWLockManager.LockType type,
CONTEXT context,
java.util.Collection<? extends OBJECT> objectsToUnlock)
Attempts to release for a given locktype, context and objects.
|
java.util.List<RWOLockManager.LockState<OBJECT,CONTEXT>> |
unlock2(CONTEXT context)
Removes all locks owned by the given context on any objects.
|
java.util.List<RWOLockManager.LockState<OBJECT,CONTEXT>> |
unlock2(CONTEXT context,
java.util.Collection<? extends OBJECT> objectsToUnlock)
Removes all locks owned by the given context.
|
java.util.List<RWOLockManager.LockState<OBJECT,CONTEXT>> |
unlock2(IRWLockManager.LockType type,
CONTEXT context,
java.util.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, java.util.Collection<? extends OBJECT> objectsToLock, long timeout) throws java.lang.InterruptedException
lock in interface IRWLockManager<OBJECT,CONTEXT>java.lang.InterruptedExceptionpublic java.util.List<RWOLockManager.LockState<OBJECT,CONTEXT>> lock2(IRWLockManager.LockType type, CONTEXT context, java.util.Collection<? extends OBJECT> objectsToLock, long timeout) throws java.lang.InterruptedException
IRWOLockManagerlock2 in interface IRWOLockManager<OBJECT,CONTEXT>java.lang.InterruptedExceptionpublic void lock(IRWLockManager.LockType type, CONTEXT context, OBJECT objectToLock, long timeout) throws java.lang.InterruptedException
lock in interface IRWLockManager<OBJECT,CONTEXT>java.lang.InterruptedExceptionpublic void unlock(IRWLockManager.LockType type, CONTEXT context, java.util.Collection<? extends OBJECT> objectsToUnlock)
IRWLockManagerunlock in interface IRWLockManager<OBJECT,CONTEXT>public java.util.List<RWOLockManager.LockState<OBJECT,CONTEXT>> unlock2(CONTEXT context, java.util.Collection<? extends OBJECT> objectsToUnlock)
IRWOLockManagerunlock2 in interface IRWOLockManager<OBJECT,CONTEXT>public java.util.List<RWOLockManager.LockState<OBJECT,CONTEXT>> unlock2(IRWLockManager.LockType type, CONTEXT context, java.util.Collection<? extends OBJECT> objectsToUnlock)
IRWOLockManagerunlock2 in interface IRWOLockManager<OBJECT,CONTEXT>public void unlock(CONTEXT context)
IRWLockManagerunlock in interface IRWLockManager<OBJECT,CONTEXT>public java.util.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 java.util.Map<OBJECT,RWOLockManager.LockState<OBJECT,CONTEXT>> createObjectToLocksMap()
protected java.util.Map<CONTEXT,java.util.Set<RWOLockManager.LockState<OBJECT,CONTEXT>>> createContextToLocksMap()
protected final java.util.Map<OBJECT,RWOLockManager.LockState<OBJECT,CONTEXT>> getObjectToLocksMap()
RWOLockManager.protected final java.util.Map<CONTEXT,java.util.Set<RWOLockManager.LockState<OBJECT,CONTEXT>>> getContextToLocksMap()
RWOLockManager.public RWOLockManager.LockState<OBJECT,CONTEXT> getLockState(OBJECT key)
public java.util.List<RWOLockManager.LockState<OBJECT,CONTEXT>> getLockStates()
public void setLockState(OBJECT key, RWOLockManager.LockState<OBJECT,CONTEXT> lockState)
public static void setUnlockAll(boolean on)
Copyright (c) 2004-2019 Eike Stepper (Loehne, 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