Class StampedLockManager.Cache<T>
- java.lang.Object
-
- org.eclipse.rdf4j.common.concurrent.locks.StampedLockManager.Cache<T>
-
- Enclosing class:
- StampedLockManager
public static class StampedLockManager.Cache<T> extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
StampedLockManager.Cache.OptimisticState
class
StampedLockManager.Cache.ReadableState
class
StampedLockManager.Cache.WritableState
-
Field Summary
Fields Modifier and Type Field Description private T
data
private java.util.function.Supplier<T>
dataSupplier
private StampedLockManager
stampedLockManager
-
Constructor Summary
Constructors Constructor Description Cache(StampedLockManager stampedLockManager, java.util.function.Supplier<T> dataSupplier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StampedLockManager.Cache.OptimisticState
getOptimisticState()
StampedLockManager.Cache.ReadableState
getReadState()
StampedLockManager.Cache.WritableState
getWriteState()
private void
refreshCacheIfNeeded()
private Lock
refreshCacheIfNeeded(Lock readLock)
void
warmUp()
-
-
-
Field Detail
-
dataSupplier
private final java.util.function.Supplier<T> dataSupplier
-
data
private volatile T data
-
stampedLockManager
private final StampedLockManager stampedLockManager
-
-
Constructor Detail
-
Cache
public Cache(StampedLockManager stampedLockManager, java.util.function.Supplier<T> dataSupplier)
-
-
Method Detail
-
getReadState
public StampedLockManager.Cache.ReadableState getReadState() throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
refreshCacheIfNeeded
private Lock refreshCacheIfNeeded(Lock readLock) throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
refreshCacheIfNeeded
private void refreshCacheIfNeeded() throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
getWriteState
public StampedLockManager.Cache.WritableState getWriteState() throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
getOptimisticState
public StampedLockManager.Cache.OptimisticState getOptimisticState() throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
warmUp
public void warmUp() throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
-
-