Package io.micronaut.cache
Class DelegatingAsyncBlockingCache<C>
java.lang.Object
io.micronaut.cache.DelegatingAsyncBlockingCache<C>
- Type Parameters:
C- The cache type
- All Implemented Interfaces:
AsyncCache<C>,Cache<C>
Transforms a synchronous cache into one that meets the asynchronous
contract while still running operations on the same thread.
- Since:
- 1.3.0
- Author:
- James Kleeh
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> CompletableFuture<Optional<T>>Resolve the given value for the given key.<T> CompletableFuture<T>Resolve the given value for the given key.getName()invalidate(Object key) Invalidate the value for the given key.Invalidate all cached values within this cache.Cache the specified value using the specified key.<T> CompletableFuture<Optional<T>>putIfAbsent(Object key, T value) Cache the specified value using the specified key if it is not already present.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.cache.AsyncCache
get, getMethods inherited from interface io.micronaut.cache.Cache
getCacheInfo
-
Constructor Details
-
DelegatingAsyncBlockingCache
- Parameters:
delegate- The delegate blocking cache
-
-
Method Details
-
get
public <T> CompletableFuture<Optional<T>> get(Object key, io.micronaut.core.type.Argument<T> requiredType) Description copied from interface:AsyncCacheResolve the given value for the given key.- Specified by:
getin interfaceAsyncCache<C>- Type Parameters:
T- The concrete type- Parameters:
key- The cache keyrequiredType- The required type- Returns:
- An optional containing the value if it exists and is able to be converted to the specified type
-
get
public <T> CompletableFuture<T> get(Object key, io.micronaut.core.type.Argument<T> requiredType, Supplier<T> supplier) Description copied from interface:AsyncCacheResolve the given value for the given key. If the value is not found the specifiedSupplierwill be invoked and the return value cached.- Specified by:
getin interfaceAsyncCache<C>- Type Parameters:
T- The concrete type- Parameters:
key- The cache keyrequiredType- The required typesupplier- The supplier that should be invoked if the value is not found- Returns:
- An optional containing the value if it exists and is able to be converted to the specified type
-
putIfAbsent
Description copied from interface:AsyncCacheCache the specified value using the specified key if it is not already present.
- Specified by:
putIfAbsentin interfaceAsyncCache<C>- Type Parameters:
T- The concrete type- Parameters:
key- The key with which the specified value is to be associatedvalue- The value to be associated with the specified key- Returns:
- An optional of the existing value or
Optional.empty()if the specified value parameter was cached
-
getName
-
getNativeCache
- Specified by:
getNativeCachein interfaceCache<C>- Returns:
- The native cache implementation
-
put
Description copied from interface:AsyncCacheCache the specified value using the specified key.
- Specified by:
putin interfaceAsyncCache<C>- Parameters:
key- The key with which the specified value is to be associatedvalue- The value to be associated with the specified key- Returns:
- A future with a boolean indicating whether the operation was successful or not
-
invalidate
Description copied from interface:AsyncCacheInvalidate the value for the given key.- Specified by:
invalidatein interfaceAsyncCache<C>- Parameters:
key- The key to invalid- Returns:
- A future with a boolean indicating whether the operation was succesful or not
-
invalidateAll
Description copied from interface:AsyncCacheInvalidate all cached values within this cache.- Specified by:
invalidateAllin interfaceAsyncCache<C>- Returns:
- A future with a boolean indicating whether the operation was succesful or not
-