@Beta public abstract class DelegatingNullSafeBaseCache<K,V> extends com.google.common.collect.ForwardingObject implements BaseCache<K,V>
Constructor and Description |
---|
DelegatingNullSafeBaseCache() |
Modifier and Type | Method and Description |
---|---|
Map<K,V> |
asMap()
Returns a view of the entries stored in this cache as an immutable map.
|
protected static <K> Iterable<K> |
checkNonNullKeys(@Nullable Iterable<K> keys) |
protected static <K,V> com.google.common.collect.ImmutableMap<K,V> |
checkReturnValue(@Nullable com.google.common.collect.ImmutableMap<K,V> map) |
protected static <K,V> V |
checkReturnValue(K key,
V value) |
void |
close() |
protected abstract BaseCache<K,V> |
delegate() |
void |
evict(K key)
Evict an entry from the cache.
|
CacheManager |
getManager() |
void |
put(K key,
V value)
Puts a new entry into the Cache, replacing any existing one.
|
protected abstract BaseCache<K,V> delegate()
delegate
in class com.google.common.collect.ForwardingObject
public void evict(K key)
BaseCache
Use CacheManager.evictAll()
to evict all entries of the entire cache.
public void put(K key, V value)
BaseCache
Normally, you often never need to call this method, as in regular usage
scenarios a cache API client just invokes Cache.get(Object)
(or CheckedCache.get(Object)
,
which then internally (may) use the CacheFunction
(or CheckedCacheFunction
) - without you
ever having had to explicitly put something into the Cache.
This method is ONLY (!) intended for "optimizations". It is useful if the code
using a cache already has a key and value (e.g. following an external update
notification event kind of thing) and wants to "save time" on an expected
subsequent Cache.get(Object)
(or CheckedCache.get(Object)
invoking the CacheFunction
(or CheckedCacheFunction
)
unnecessarily, using this "hint" to "propose" an entry to the cache.
Any code using this must expect key/value pairs that have been put into a
cache to disappear at any time (e.g. when the cache is full and this
key/value hasn't been used, or after a programmatic or end-user operator
initiated eviction), and be able to obtain THE SAME value from the
CacheFunction
(or CheckedCacheFunction
), for the given key.
Failure to implement calls to this put method consistent with the implementation of the cache's get function WILL lead to weird cache inconsistencies!
Some Cache implementations may IGNORE this "hint" method.
public Map<K,V> asMap()
BaseCache
public CacheManager getManager()
getManager
in interface BaseCache<K,V>
public void close() throws Exception
close
in interface AutoCloseable
Exception
protected static <K,V> V checkReturnValue(K key, V value)
protected static <K,V> com.google.common.collect.ImmutableMap<K,V> checkReturnValue(@Nullable com.google.common.collect.ImmutableMap<K,V> map)
Copyright © 2020 OpenDaylight. All rights reserved.