[Java] Class UnlimitedConcurrentCache<K, V>
- org.codehaus.groovy.runtime.memoize.UnlimitedConcurrentCache
- All Implemented Interfaces and Traits:
- EvictableCache, Serializable
@ThreadSafe public final class UnlimitedConcurrentCache extends Object
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 |
---|---|---|
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<Entry<K, V>> |
entrySet() | |
V |
get(Object key) Gets a value from the cache | |
V |
getAndPut(K key, ValueProvider<? super K, ? extends V> valueProvider) The implementation of `getAndPut` is not atomic | |
boolean |
isEmpty() | |
Set<K> |
keySet() | |
Set<K> |
keys() Get all keys associated to cached values | |
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 |
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 void clear()
Clear the cache
- See Also:
- clearAll()
@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)
The implementation of `getAndPut` is not atomic
@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/2.5.14/html/gapi/org/codehaus/groovy/runtime/memoize/UnlimitedConcurrentCache.html