Package org.eclipse.aether.named.support
Class CompositeNamedLock
java.lang.Object
org.eclipse.aether.named.support.NamedLockSupport
org.eclipse.aether.named.support.CompositeNamedLock
- All Implemented Interfaces:
AutoCloseable,NamedLock
Implementation of composite lock when "composition" is needed for locks that are naturally mapped as 1:1 name
vs some backing implementation. Instances of these locks are "unique per call" and are not ref counted.
- Since:
- 2.0.0
-
Field Summary
Fields inherited from class org.eclipse.aether.named.support.NamedLockSupport
logger -
Constructor Summary
ConstructorsConstructorDescriptionCompositeNamedLock(NamedLockKey key, NamedLockFactorySupport factory, Collection<NamedLock> namedLocks) -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoClose()protected 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, key, lockExclusively, lockShared, toString, unlock
-
Constructor Details
-
CompositeNamedLock
public CompositeNamedLock(NamedLockKey key, NamedLockFactorySupport factory, Collection<NamedLock> namedLocks)
-
-
Method Details
-
doLockExclusively
- Specified by:
doLockExclusivelyin classNamedLockSupport- Throws:
InterruptedException
-
doUnlock
- Specified by:
doUnlockin classNamedLockSupport
-
doClose
- Overrides:
doClosein classNamedLockSupport