Class LockingVisitors.StampedLockVisitor<O>
- java.lang.Object
-
- org.apache.commons.lang3.concurrent.locks.LockingVisitors.LockVisitor<O,java.util.concurrent.locks.StampedLock>
-
- org.apache.commons.lang3.concurrent.locks.LockingVisitors.StampedLockVisitor<O>
-
- Type Parameters:
O
- The type of the object to protect.
- Enclosing class:
- LockingVisitors
public static class LockingVisitors.StampedLockVisitor<O> extends LockingVisitors.LockVisitor<O,java.util.concurrent.locks.StampedLock>
Wraps aStampedLock
and object to protect. To access the object, use the methodsLockingVisitors.LockVisitor.acceptReadLocked(FailableConsumer)
,LockingVisitors.LockVisitor.acceptWriteLocked(FailableConsumer)
,LockingVisitors.LockVisitor.applyReadLocked(FailableFunction)
, andLockingVisitors.LockVisitor.applyWriteLocked(FailableFunction)
. The visitor holds the lock while the consumer or function is called.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LockingVisitors.StampedLockVisitor.Builder<O>
BuildsLockingVisitors.LockVisitor
instances.-
Nested classes/interfaces inherited from class org.apache.commons.lang3.concurrent.locks.LockingVisitors.LockVisitor
LockingVisitors.LockVisitor.LVBuilder<O,L,B extends LockingVisitors.LockVisitor.LVBuilder<O,L,B>>
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
StampedLockVisitor(O object, java.util.concurrent.locks.StampedLock stampedLock)
Creates a new instance with the given object and lock.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <O> LockingVisitors.StampedLockVisitor.Builder<O>
builder()
Creates a new builder.-
Methods inherited from class org.apache.commons.lang3.concurrent.locks.LockingVisitors.LockVisitor
acceptReadLocked, acceptWriteLocked, applyReadLocked, applyWriteLocked, getLock, getObject, lockAcceptUnlock, lockApplyUnlock
-
-
-
-
Constructor Detail
-
StampedLockVisitor
protected StampedLockVisitor(O object, java.util.concurrent.locks.StampedLock stampedLock)
Creates a new instance with the given object and lock.- Parameters:
object
- The object to protect. The caller is supposed to drop all references to the locked object.stampedLock
- the lock to use.- See Also:
LockingVisitors
-
-
Method Detail
-
builder
public static <O> LockingVisitors.StampedLockVisitor.Builder<O> builder()
Creates a new builder.- Type Parameters:
O
- the wrapped object type.- Returns:
- a new builder.
- Since:
- 3.18.0
-
-