[Java] Class UnlimitedConcurrentCache<K, V>
- org.codehaus.groovy.runtime.memoize.UnlimitedConcurrentCache
- All Implemented Interfaces and Traits:
- EvictableCache, Serializable
@ThreadSafe public final class UnlimitedConcurrentCache<K, V> extends Object implements EvictableCache, Serializable
A cache backed by a ConcurrentHashMap
Constructor Summary
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 |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
public void |
cleanUpNullReferences() Replying on the ConcurrentHashMap thread-safe iteration implementation the method will remove all entries holding SoftReferences to gc-evicted objects. | |
public Map<K, V> |
clearAll() Clear the cache | |
public boolean |
containsKey(Object key) Determines if the cache contains an entry for the specified key. | |
public boolean |
containsValue(Object value) | |
public Set<Entry<K, V>> |
entrySet() | |
public V |
get(Object key) Gets a value from the cache | |
public V |
getAndPut(K key, ValueProvider<? super K, ? extends V> valueProvider) Try to get the value from cache. | |
public boolean |
isEmpty() | |
public Set<K> |
keySet() | |
public Set<K> |
keys() Get all keys associated to cached values | |
public V |
put(K key, V value) Associates the specified value with the specified key in the cache. | |
public void |
putAll(Map<? extends K, ? extends V> m) | |
public V |
remove(Object key) Remove the cached value by the key | |
public int |
size() Get the size of the cache | |
public Collection<V> |
values() Get all cached values |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Constructor Detail
public UnlimitedConcurrentCache()
Constructs a cache with unlimited size
public UnlimitedConcurrentCache(int initialCapacity)
Constructs a cache with unlimited size and set its initial capacity
- Parameters:
-
initialCapacity
- the initial capacity
public UnlimitedConcurrentCache(Map<? extends K, ? extends V> m)
Constructs a cache and initialize the cache with the specified map
- Parameters:
-
m
- the map to initialize the cache
Method Detail
@Override public void cleanUpNullReferences()
Replying on the ConcurrentHashMap thread-safe iteration implementation the method will remove all entries holding SoftReferences to gc-evicted objects.
@Override public Map<K, V> clearAll()
Clear the cache
- Returns:
- returns the content of the cleared map
@Override public boolean containsKey(Object key)
Determines if the cache contains an entry for the specified key.
- Parameters:
-
key
- key whose presence in this cache is to be tested.
- Returns:
- true if the cache contains a mapping for the specified key
@Override public boolean containsValue(Object value)
@Override public Set<Entry<K, V>> entrySet()
@Override public V get(Object key)
Gets a value from the cache
- Parameters:
-
key
- the key whose associated value is to be returned
- Returns:
- the value, or null, if it does not exist.
@Override public V getAndPut(K key, ValueProvider<? super K, ? extends V> valueProvider)
Try to get the value from cache. If not found, create the value by MemoizeCache.ValueProvider and put it into the cache, at last return the value.
- Parameters:
- key
-
valueProvider
- provide the value if the associated value not found
- Returns:
- the cached value
@Override public boolean isEmpty()
@Override public Set<K> keySet()
@Override public Set<K> keys()
Get all keys associated to cached values
- Returns:
- all keys
@Override public V put(K key, V value)
Associates the specified value with the specified key in the cache.
- Parameters:
-
key
- key with which the specified value is to be associated -
value
- value to be associated with the specified key
- Returns:
- null, or the old value if the key associated with the specified key.
@Override public void putAll(Map<? extends K, ? extends V> m)
@Override public V remove(Object key)
Remove the cached value by the key
- Parameters:
- key
- Returns:
- returns the removed value
@Override public int size()
Get the size of the cache
- Returns:
- the size of the cache
@Override public Collection<V> values()
Get all cached values
- Returns:
- all cached values
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/org/codehaus/groovy/runtime/memoize/UnlimitedConcurrentCache.html