|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.eclipse.net4j.util.event.Notifier
org.eclipse.net4j.util.lifecycle.Lifecycle
org.eclipse.net4j.util.concurrent.RWLockManager<OBJECT,CONTEXT>
RWOLockManager
@Deprecated public class RWLockManager<OBJECT,CONTEXT>

Support Multiple reads/no write and upgrade lock from read to write. Many context could request
write lock at the same time. It will privileges first context that has already
a read lock. If no one has any read lock, it's "first come first serve".
| Nested Class Summary | |
|---|---|
protected static interface |
RWLockManager.LockEntry<OBJECT,CONTEXT>
Deprecated. Use RWOLockManager |
protected static interface |
RWLockManager.LockEntryHandler<OBJECT,CONTEXT>
Deprecated. Use RWOLockManager |
protected static interface |
RWLockManager.LockStrategy<OBJECT,CONTEXT>
Deprecated. Use RWOLockManager |
| Nested classes/interfaces inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager |
|---|
IRWLockManager.LockType |
| Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle |
|---|
ILifecycle.DeferrableActivation |
| Field Summary |
|---|
| Fields inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle |
|---|
USE_LABEL |
| Fields inherited from interface org.eclipse.net4j.util.concurrent.IRWLockManager |
|---|
NO_WAIT, WAIT |
| Constructor Summary | |
|---|---|
RWLockManager()
Deprecated. |
|
| Method Summary | |
|---|---|
protected void |
changeContext(CONTEXT oldContext,
CONTEXT newContext)
Deprecated. |
protected RWLockManager.LockEntry<OBJECT,CONTEXT> |
getLockEntry(OBJECT objectToLock)
Deprecated. |
protected RWLockManager.LockStrategy<OBJECT,CONTEXT> |
getLockingStrategy(IRWLockManager.LockType type)
Deprecated. |
protected void |
handleLockEntries(CONTEXT context,
RWLockManager.LockEntryHandler<OBJECT,CONTEXT> handler)
Deprecated. |
boolean |
hasLock(IRWLockManager.LockType type,
CONTEXT context,
OBJECT objectToLock)
Deprecated. |
boolean |
hasLockByOthers(IRWLockManager.LockType type,
CONTEXT context,
OBJECT objectToLock)
Deprecated. |
void |
lock(IRWLockManager.LockType type,
CONTEXT context,
Collection<? extends OBJECT> objectsToLock,
long timeout)
Deprecated. |
void |
lock(IRWLockManager.LockType type,
CONTEXT context,
OBJECT objectToLock,
long timeout)
Deprecated. |
void |
unlock(CONTEXT context)
Deprecated. Attempts to release all locks(read and write) for a given context. |
void |
unlock(IRWLockManager.LockType type,
CONTEXT context,
Collection<? extends OBJECT> objectsToUnlock)
Deprecated. Attempts to release for a given locktype, context and objects. |
| Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle |
|---|
activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString |
| Methods inherited from class org.eclipse.net4j.util.event.Notifier |
|---|
addListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListeners, lastListenerRemoved, removeListener |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.eclipse.net4j.util.event.INotifier |
|---|
addListener, getListeners, hasListeners, removeListener |
| Constructor Detail |
|---|
public RWLockManager()
| Method Detail |
|---|
public void lock(IRWLockManager.LockType type,
CONTEXT context,
Collection<? extends OBJECT> objectsToLock,
long timeout)
throws InterruptedException
lock in interface IRWLockManager<OBJECT,CONTEXT>InterruptedException
public void lock(IRWLockManager.LockType type,
CONTEXT context,
OBJECT objectToLock,
long timeout)
throws InterruptedException
lock in interface IRWLockManager<OBJECT,CONTEXT>InterruptedException
public void unlock(IRWLockManager.LockType type,
CONTEXT context,
Collection<? extends OBJECT> objectsToUnlock)
unlock in interface IRWLockManager<OBJECT,CONTEXT>IllegalMonitorStateException - Unlocking objects without lock.public void unlock(CONTEXT context)
unlock in interface IRWLockManager<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 void handleLockEntries(CONTEXT context,
RWLockManager.LockEntryHandler<OBJECT,CONTEXT> handler)
protected RWLockManager.LockEntry<OBJECT,CONTEXT> getLockEntry(OBJECT objectToLock)
protected RWLockManager.LockStrategy<OBJECT,CONTEXT> getLockingStrategy(IRWLockManager.LockType type)
protected void changeContext(CONTEXT oldContext,
CONTEXT newContext)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||