Class UnboundedLocalCache.UnboundedLocalAsyncCache<K,V>
java.lang.Object
com.github.benmanes.caffeine.cache.UnboundedLocalCache.UnboundedLocalAsyncCache<K,V>
- All Implemented Interfaces:
AsyncCache<K,V>, LocalAsyncCache<K, V>, Serializable
- Enclosing class:
UnboundedLocalCache<K,V>
static final class UnboundedLocalCache.UnboundedLocalAsyncCache<K,V>
extends Object
implements LocalAsyncCache<K,V>, Serializable
-
Nested Class Summary
Nested classes/interfaces inherited from interface LocalAsyncCache
LocalAsyncCache.AbstractCacheView<K,V>, LocalAsyncCache.AsMapView<K, V>, LocalAsyncCache.AsyncAsMapView<K, V>, LocalAsyncCache.AsyncBulkCompleter<K, V>, LocalAsyncCache.CacheView<K, V> -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final UnboundedLocalCache<K, CompletableFuture<V>> (package private) @Nullable LocalAsyncCache.CacheView<K, V> (package private) @Nullable ConcurrentMap<K, CompletableFuture<V>> private static final longFields inherited from interface LocalAsyncCache
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionasMap()Returns a view of the entries stored in this cache as a thread-safe map.cache()Returns the backingLocalCachedata store.policy()Returns the policy supported by this implementation and its configuration.private voidreadObject(ObjectInputStream stream) Returns a view of the entries stored in this cache as a synchronousCache.(package private) ObjectMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface LocalAsyncCache
composeResult, get, get, get, getAll, getAll, getIfPresent, handleCompletion, put
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
cache
-
mapView
@Nullable ConcurrentMap<K, CompletableFuture<V>> mapView -
cacheView
@Nullable LocalAsyncCache.CacheView<K,V> cacheView -
policy
-
-
Constructor Details
-
UnboundedLocalAsyncCache
-
-
Method Details
-
cache
Description copied from interface:LocalAsyncCacheReturns the backingLocalCachedata store.- Specified by:
cachein interfaceLocalAsyncCache<K,V>
-
asMap
Description copied from interface:AsyncCacheReturns a view of the entries stored in this cache as a thread-safe map. Modifications made to the map directly affect the cache.A computation operation, such as
ConcurrentMap.compute(K, BiFunction), performs the entire method invocation atomically, so the function is applied at most once per key. Some attempted update operations by other threads may be blocked while computation is in progress. The computation must not attempt to update any other mappings of this cache.Iterators from the returned map are at least weakly consistent: they are safe for concurrent use, but if the cache is modified (including by eviction) after the iterator is created, it is undefined which of the changes (if any) will be reflected in that iterator.
- Specified by:
asMapin interfaceAsyncCache<K,V> - Returns:
- a thread-safe view of this cache supporting all of the optional
Mapoperations
-
synchronous
Description copied from interface:AsyncCacheReturns a view of the entries stored in this cache as a synchronousCache. A mapping is not present if the value is currently being loaded. Modifications made to the synchronous cache directly affect the asynchronous cache. If a modification is made to a mapping that is currently loading, the operation blocks until the computation completes.- Specified by:
synchronousin interfaceAsyncCache<K,V> - Returns:
- a thread-safe synchronous view of this cache
-
policy
Description copied from interface:LocalAsyncCacheReturns the policy supported by this implementation and its configuration.- Specified by:
policyin interfaceLocalAsyncCache<K,V>
-
readObject
- Throws:
InvalidObjectException
-
writeReplace
Object writeReplace()
-