[Java] Class ConcurrentCommonCache<K, V>
- org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache
- All Implemented Interfaces and Traits:
- EvictableCache, ValueConvertable, Serializable
@ThreadSafe public class ConcurrentCommonCache extends Object
Represents a simple key-value cache, which is thread safe and backed by a Map instance
- Parameters:
- - type of the keys
- - type of the values
- Since:
- 2.5.0
Nested Class Summary
| Modifiers | Name | Description |
|---|---|---|
interface | ConcurrentCommonCache.Action |
Constructor Summary
| Constructor and description |
|---|
ConcurrentCommonCache
()Constructs a cache with unlimited size |
ConcurrentCommonCache
(int initialCapacity, int maxSize, EvictionStrategy evictionStrategy)Constructs a cache with limited size |
ConcurrentCommonCache
(int initialCapacity, int maxSize)Constructs a LRU cache with the specified initial capacity and max size. |
ConcurrentCommonCache
(int maxSize)Constructs a LRU cache with the default initial capacity(16) |
ConcurrentCommonCache
(Map<K, V> map)Constructs a cache backed by the specified Map instance |
Methods Summary
| Type Params | Return Type | Name and description |
|---|---|---|
void |
cleanUpNullReferences(){@inheritDoc} | |
void |
clear()Clear the cache | |
Map<K, V> |
clearAll(){@inheritDoc} | |
boolean |
containsKey(Object key){@inheritDoc} | |
boolean |
containsValue(Object value) | |
Object |
convertValue(V value){@inheritDoc} | |
Set<Entry<K, V>> |
entrySet() | |
V |
get(Object key){@inheritDoc} | |
V |
getAndPut(K key, ValueProvider<? super K, ? extends V> valueProvider){@inheritDoc} | |
V |
getAndPut(K key, ValueProvider<? super K, ? extends V> valueProvider, boolean shouldCache) | |
boolean |
isEmpty() | |
Set<K> |
keySet() | |
Set<K> |
keys(){@inheritDoc} | |
V |
put(K key, V value){@inheritDoc} | |
void |
putAll(Map<? extends K, ? extends V> m) | |
V |
remove(Object key){@inheritDoc} | |
int |
size(){@inheritDoc} | |
Collection<V> |
values(){@inheritDoc} |
Inherited Methods Summary
| Methods inherited from class | Name |
|---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Constructor Detail
public ConcurrentCommonCache()
Constructs a cache with unlimited size
public ConcurrentCommonCache(int initialCapacity, int maxSize, EvictionStrategy evictionStrategy)
Constructs a cache with limited size
- Parameters:
-
initialCapacity- initial capacity of the cache -
maxSize- max size of the cache -
evictionStrategy- LRU or FIFO, see org.codehaus.groovy.runtime.memoize.EvictableCache.EvictionStrategy
public ConcurrentCommonCache(int initialCapacity, int maxSize)
Constructs a LRU cache with the specified initial capacity and max size. The LRU cache is slower than LRUCache
- Parameters:
-
initialCapacity- initial capacity of the LRU cache -
maxSize- max size of the LRU cache
public ConcurrentCommonCache(int maxSize)
Constructs a LRU cache with the default initial capacity(16)
- Parameters:
-
maxSize- max size of the LRU cache
- See Also:
- ConcurrentCommonCache(int, int)
public ConcurrentCommonCache(Map<K, V> map)
Constructs a cache backed by the specified Map instance
- Parameters:
-
map- the Map instance
Method Detail
@Override public void cleanUpNullReferences()
{@inheritDoc}
@Override public void clear()
Clear the cache
- See Also:
- clearAll()
@Override public Map<K, V> clearAll()
{@inheritDoc}
@Override public boolean containsKey(Object key)
{@inheritDoc}
@Override public boolean containsValue(Object value)
@Override public Object convertValue(V value)
{@inheritDoc}
@Override public Set<Entry<K, V>> entrySet()
@Override public V get(Object key)
{@inheritDoc}
@Override public V getAndPut(K key, ValueProvider<? super K, ? extends V> valueProvider)
{@inheritDoc}
public V getAndPut(K key, ValueProvider<? super K, ? extends V> valueProvider, boolean shouldCache)
@Override public boolean isEmpty()
@Override public Set<K> keySet()
@Override public Set<K> keys()
{@inheritDoc}
@Override public V put(K key, V value)
{@inheritDoc}
@Override public void putAll(Map<? extends K, ? extends V> m)
@Override public V remove(Object key)
{@inheritDoc}
@Override public int size()
{@inheritDoc}
@Override public Collection<V> values()
{@inheritDoc}
© 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/ConcurrentCommonCache.html