@ThreadSafe public final class UnlimitedConcurrentCache<K,V> extends Object implements EvictableCache<K,V>, Serializable
EvictableCache.EvictionStrategyMemoizeCache.ValueProvider<K,V>| Constructor and Description | 
|---|
| UnlimitedConcurrentCache()Constructs a cache with unlimited size | 
| UnlimitedConcurrentCache(int initialCapacity)Constructs a cache with unlimited size and set its initial capacity | 
| UnlimitedConcurrentCache(Map<? extends K,? extends V> m)Constructs a cache and initialize the cache with the specified map | 
| Modifier and Type | Method and Description | 
|---|---|
| void | cleanUpNullReferences()Replying on the ConcurrentHashMap thread-safe iteration implementation the method will remove all entries holding
 SoftReferences to gc-evicted objects. | 
| 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) | 
| 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)The implementation of `getAndPut` is not atomic | 
| 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, waitcompute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAllpublic UnlimitedConcurrentCache()
public UnlimitedConcurrentCache(int initialCapacity)
initialCapacity - the initial capacitypublic Map<K,V> clearAll()
clearAll in interface EvictableCache<K,V>public void clear()
clear in interface Map<K,V>clearAll()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 V put(K key, V value)
public V getAndPut(K key, MemoizeCache.ValueProvider<? super K,? extends V> valueProvider)
getAndPut in interface MemoizeCache<K,V>public void cleanUpNullReferences()
cleanUpNullReferences in interface MemoizeCache<K,V>