K
- type of the keysV
- type of the values@ThreadSafe public class ConcurrentCommonCache<K,V> extends Object implements EvictableCache<K,V>, ValueConvertable<V,Object>, Serializable
Map
instanceModifier and Type | Class and Description |
---|---|
static interface |
ConcurrentCommonCache.Action<K,V,R> |
EvictableCache.EvictionStrategy
MemoizeCache.ValueProvider<K,V>
Constructor and Description |
---|
ConcurrentCommonCache()
Constructs a cache with unlimited size
|
ConcurrentCommonCache(int maxSize)
Constructs a LRU cache with the default initial capacity(16)
|
ConcurrentCommonCache(int initialCapacity,
int maxSize)
Constructs a LRU cache with the specified initial capacity and max size.
|
ConcurrentCommonCache(int initialCapacity,
int maxSize,
EvictableCache.EvictionStrategy evictionStrategy)
Constructs a cache with limited size
|
ConcurrentCommonCache(Map<K,V> map)
Constructs a cache backed by the specified
Map instance |
Modifier and Type | Method and Description |
---|---|
void |
cleanUpNullReferences()
Invoked when some of the held SoftReferences have been evicted by the garbage collector and so should be removed from the cache.
|
void |
clear()
Clear the cache
|
Map<K,V> |
clearAll()
Clear the cache
|
boolean |
containsKey(Object key)
Determines if the cache contains an entry for the specified key.
|
boolean |
containsValue(Object value) |
Object |
convertValue(V value)
convert the original value to the target value
|
Set<Map.Entry<K,V>> |
entrySet() |
V |
get(Object key)
Gets a value from the cache
|
V |
getAndPut(K key,
MemoizeCache.ValueProvider<? super K,? extends V> valueProvider)
Try to get the value from cache.
|
V |
getAndPut(K key,
MemoizeCache.ValueProvider<? super K,? extends V> valueProvider,
boolean shouldCache) |
boolean |
isEmpty() |
Set<K> |
keys()
Get all keys associated to cached values
|
Set<K> |
keySet() |
V |
put(K key,
V value)
Associates the specified value with the specified key in the cache.
|
void |
putAll(Map<? extends K,? extends V> m) |
V |
remove(Object key)
Remove the cached value by the key
|
int |
size()
Get the size of the cache
|
Collection<V> |
values()
Get all cached values
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
public ConcurrentCommonCache()
public ConcurrentCommonCache(int initialCapacity, int maxSize, EvictableCache.EvictionStrategy evictionStrategy)
initialCapacity
- initial capacity of the cachemaxSize
- max size of the cacheevictionStrategy
- LRU or FIFO, see EvictableCache.EvictionStrategy
public ConcurrentCommonCache(int initialCapacity, int maxSize)
LRUCache
initialCapacity
- initial capacity of the LRU cachemaxSize
- max size of the LRU cachepublic ConcurrentCommonCache(int maxSize)
maxSize
- max size of the LRU cacheConcurrentCommonCache(int, int)
public V put(K key, V value)
public V getAndPut(K key, MemoizeCache.ValueProvider<? super K,? extends V> valueProvider)
MemoizeCache.ValueProvider
and put it into the cache, at last return the valuegetAndPut
in interface MemoizeCache<K,V>
public V getAndPut(K key, MemoizeCache.ValueProvider<? super K,? extends V> valueProvider, boolean shouldCache)
public Collection<V> values()
public Set<K> keys()
keys
in interface EvictableCache<K,V>
public boolean containsKey(Object key)
containsKey
in interface Map<K,V>
containsKey
in interface EvictableCache<K,V>
key
- key whose presence in this cache is to be tested.public boolean containsValue(Object value)
containsValue
in interface Map<K,V>
public int size()
public Map<K,V> clearAll()
clearAll
in interface EvictableCache<K,V>
public void clear()
clear
in interface Map<K,V>
clearAll()
public void cleanUpNullReferences()
cleanUpNullReferences
in interface MemoizeCache<K,V>
public Object convertValue(V value)
convertValue
in interface ValueConvertable<V,Object>
value
- the original value