org.eclipse.net4j.util.concurrent
Class RWLockManager<OBJECT,CONTEXT>

java.lang.Object
  extended by org.eclipse.net4j.util.event.Notifier
      extended by org.eclipse.net4j.util.lifecycle.Lifecycle
          extended by org.eclipse.net4j.util.concurrent.RWLockManager<OBJECT,CONTEXT>
All Implemented Interfaces:
IRWLockManager<OBJECT,CONTEXT>, INotifier, ILifecycle, ILifecycle.DeferrableActivation

Deprecated. Use RWOLockManager

@Deprecated
public class RWLockManager<OBJECT,CONTEXT>
  
extends Lifecycle
implements IRWLockManager<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".

Since:
2.0

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

RWLockManager

public RWLockManager()
Deprecated. 
Method Detail

lock

public void lock(IRWLockManager.LockType type,
                 CONTEXT context,
                 Collection<? extends OBJECT> objectsToLock,
                 long timeout)
          throws InterruptedException
Deprecated. 
Specified by:
lock in interface IRWLockManager<OBJECT,CONTEXT>
Throws:
InterruptedException
Since:
3.0

lock

public void lock(IRWLockManager.LockType type,
                 CONTEXT context,
                 OBJECT objectToLock,
                 long timeout)
          throws InterruptedException
Deprecated. 
Specified by:
lock in interface IRWLockManager<OBJECT,CONTEXT>
Throws:
InterruptedException
Since:
3.0

unlock

public void unlock(IRWLockManager.LockType type,
                   CONTEXT context,
                   Collection<? extends OBJECT> objectsToUnlock)
Deprecated. 
Attempts to release for a given locktype, context and objects.

Specified by:
unlock in interface IRWLockManager<OBJECT,CONTEXT>
Throws:
IllegalMonitorStateException - Unlocking objects without lock.
Since:
3.0

unlock

public void unlock(CONTEXT context)
Deprecated. 
Attempts to release all locks(read and write) for a given context.

Specified by:
unlock in interface IRWLockManager<OBJECT,CONTEXT>

hasLock

public boolean hasLock(IRWLockManager.LockType type,
                       CONTEXT context,
                       OBJECT objectToLock)
Deprecated. 
Specified by:
hasLock in interface IRWLockManager<OBJECT,CONTEXT>
Since:
3.0

hasLockByOthers

public boolean hasLockByOthers(IRWLockManager.LockType type,
                               CONTEXT context,
                               OBJECT objectToLock)
Deprecated. 
Specified by:
hasLockByOthers in interface IRWLockManager<OBJECT,CONTEXT>
Since:
3.0

handleLockEntries

protected void handleLockEntries(CONTEXT context,
                                 RWLockManager.LockEntryHandler<OBJECT,CONTEXT> handler)
Deprecated. 
Since:
3.1

getLockEntry

protected RWLockManager.LockEntry<OBJECT,CONTEXT> getLockEntry(OBJECT objectToLock)
Deprecated. 
Since:
3.1

getLockingStrategy

protected RWLockManager.LockStrategy<OBJECT,CONTEXT> getLockingStrategy(IRWLockManager.LockType type)
Deprecated. 
Since:
3.1

changeContext

protected void changeContext(CONTEXT oldContext,
                             CONTEXT newContext)
Deprecated. 
Since:
3.1


Copyright (c) 2011, 2012 Eike Stepper (Berlin, Germany) and others.