Package org.eclipse.aether.named.support
Class ReadWriteLockNamedLock
java.lang.Object
org.eclipse.aether.named.support.NamedLockSupport
org.eclipse.aether.named.support.ReadWriteLockNamedLock
- All Implemented Interfaces:
AutoCloseable,NamedLock
Named lock support implementation that is using
ReadWriteLock instances. The adapted lock MUST SUPPORT
reentrancy, non re-entrant locks will NOT work. It is the responsibility of an adapting lock, to ensure that
above lock requirement stands.-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ReadWriteLockprivate final ThreadLocal<Deque<ReadWriteLockNamedLock.Step>> Fields inherited from class org.eclipse.aether.named.support.NamedLockSupport
logger -
Constructor Summary
ConstructorsConstructorDescriptionReadWriteLockNamedLock(String name, NamedLockFactorySupport factory, ReadWriteLock readWriteLock) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleandoLockExclusively(long time, TimeUnit unit) protected booleandoLockShared(long time, TimeUnit unit) protected voiddoUnlock()Methods inherited from class org.eclipse.aether.named.support.NamedLockSupport
close, diagnosticState, doClose, lockExclusively, lockShared, name, toString, unlock
-
Field Details
-
threadSteps
-
readWriteLock
-
-
Constructor Details
-
ReadWriteLockNamedLock
public ReadWriteLockNamedLock(String name, NamedLockFactorySupport factory, ReadWriteLock readWriteLock)
-
-
Method Details
-
doLockExclusively
- Specified by:
doLockExclusivelyin classNamedLockSupport- Throws:
InterruptedException
-
doUnlock
protected void doUnlock()- Specified by:
doUnlockin classNamedLockSupport