Class Cache1<T>
- java.lang.Object
-
- com.microsoft.azure.toolkit.lib.common.cache.Cache1<T>
-
public class Cache1<T> extends Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceCache1.Status
-
Field Summary
Fields Modifier and Type Field Description private com.github.benmanes.caffeine.cache.LoadingCache<String,Optional<T>>cacheprivate static ThreadLocal<Stack<Cache1<?>>>cachingprivate static StringKEYprivate Tlatestprivate java.util.function.Consumer<String>onNewStatusprivate java.util.function.BiConsumer<T,T>onNewValueprivate AtomicReference<String>statusprivate java.util.function.Supplier<T>supplier
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private booleancompareAndSetStatus(String o, String n)Tget()TgetIfPresent()TgetIfPresent(boolean loadIfAbsent)StringgetStatus()voidinvalidate()private booleanisProcessing()private Optional<T>load()Cache1<T>onStatusChanged(java.util.function.Consumer<String> onNewStatus)Cache1<T>onValueChanged(java.util.function.BiConsumer<T,T> onNewValue)private voidsetStatus(String n)Tupdate(Runnable body, String status)Tupdate(Callable<T> body, String status)private Optional<T>update(Callable<T> body, String status, T oldValue)
-
-
-
Field Detail
-
caching
private static final ThreadLocal<Stack<Cache1<?>>> caching
-
KEY
private static final String KEY
- See Also:
- Constant Field Values
-
cache
@Nonnull private final com.github.benmanes.caffeine.cache.LoadingCache<String,Optional<T>> cache
-
status
@Nonnull private final AtomicReference<String> status
-
onNewStatus
private java.util.function.Consumer<String> onNewStatus
-
latest
private T latest
-
-