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>,java.io.Serializable
- Enclosing class:
- UnboundedLocalCache<K,V>
static final class UnboundedLocalCache.UnboundedLocalAsyncCache<K,V> extends java.lang.Object implements LocalAsyncCache<K,V>, java.io.Serializable
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.github.benmanes.caffeine.cache.LocalAsyncCache
LocalAsyncCache.AbstractCacheView<K,V>, LocalAsyncCache.AsMapView<K,V>, LocalAsyncCache.AsyncAsMapView<K,V>, LocalAsyncCache.AsyncBulkCompleter<K,V>, LocalAsyncCache.CacheView<K,V>
-
-
Field Summary
Fields Modifier and Type Field Description (package private) UnboundedLocalCache<K,java.util.concurrent.CompletableFuture<V>>cache(package private) @Nullable LocalAsyncCache.CacheView<K,V>cacheView(package private) @Nullable java.util.concurrent.ConcurrentMap<K,java.util.concurrent.CompletableFuture<V>>mapView(package private) @Nullable Policy<K,V>policyprivate static longserialVersionUID-
Fields inherited from interface com.github.benmanes.caffeine.cache.LocalAsyncCache
logger
-
-
Constructor Summary
Constructors Constructor Description UnboundedLocalAsyncCache(Caffeine<K,V> builder)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.concurrent.ConcurrentMap<K,java.util.concurrent.CompletableFuture<V>>asMap()Returns a view of the entries stored in this cache as a thread-safe map.UnboundedLocalCache<K,java.util.concurrent.CompletableFuture<V>>cache()Returns the backingLocalCachedata store.Policy<K,V>policy()Returns the policy supported by this implementation and its configuration.private voidreadObject(java.io.ObjectInputStream stream)Cache<K,V>synchronous()Returns a view of the entries stored in this cache as a synchronousCache.(package private) java.lang.ObjectwriteReplace()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.github.benmanes.caffeine.cache.LocalAsyncCache
composeResult, get, get, get, getAll, getAll, getIfPresent, handleCompletion, put
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
cache
final UnboundedLocalCache<K,java.util.concurrent.CompletableFuture<V>> cache
-
mapView
@Nullable java.util.concurrent.ConcurrentMap<K,java.util.concurrent.CompletableFuture<V>> mapView
-
cacheView
@Nullable LocalAsyncCache.CacheView<K,V> cacheView
-
-
Method Detail
-
cache
public UnboundedLocalCache<K,java.util.concurrent.CompletableFuture<V>> cache()
Description copied from interface:LocalAsyncCacheReturns the backingLocalCachedata store.- Specified by:
cachein interfaceLocalAsyncCache<K,V>
-
asMap
public java.util.concurrent.ConcurrentMap<K,java.util.concurrent.CompletableFuture<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, java.util.function.BiFunction<? super K, ? super V, ? extends V>), 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
public Cache<K,V> 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
public Policy<K,V> policy()
Description copied from interface:LocalAsyncCacheReturns the policy supported by this implementation and its configuration.- Specified by:
policyin interfaceLocalAsyncCache<K,V>
-
readObject
private void readObject(java.io.ObjectInputStream stream) throws java.io.InvalidObjectException- Throws:
java.io.InvalidObjectException
-
writeReplace
java.lang.Object writeReplace()
-
-