Class CommonCache<K,V> 
java.lang.Object
org.codehaus.groovy.runtime.memoize.CommonCache<K,V> 
- Type Parameters:
- K- type of the keys
- V- type of the values
- All Implemented Interfaces:
- Serializable,- Map<K,,- V> - EvictableCache<K,,- V> - FlexibleEvictableCache<K,,- V> - MemoizeCache<K,,- V> - ValueConvertable<V,- Object> 
public class CommonCache<K,V> 
extends Object
implements FlexibleEvictableCache<K,V>, ValueConvertable<V,Object>, Serializable  
Represents a simple key-value cache, which is NOT thread safe and backed by a 
Map instance- Since:
- 2.5.0
- See Also:
- 
Nested Class SummaryNested classes/interfaces inherited from interface org.codehaus.groovy.runtime.memoize.EvictableCacheEvictableCache.Action<K,V, R>, EvictableCache.EvictionStrategy Nested classes/interfaces inherited from interface java.util.MapMap.Entry<K extends Object,V extends Object> Nested classes/interfaces inherited from interface org.codehaus.groovy.runtime.memoize.MemoizeCacheMemoizeCache.ValueProvider<K,V> 
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final intThe default initial capacitystatic final floatThe default load factor
- 
Constructor SummaryConstructorsConstructorDescriptionConstructs a cache with unlimited sizeCommonCache(int maxSize) Constructs an LRU cache with the default initial capacityCommonCache(int initialCapacity, int maxSize) Constructs an LRU cache with the specified initial capacity and max size.CommonCache(int initialCapacity, int maxSize, EvictableCache.EvictionStrategy evictionStrategy) Constructs a cache with limited sizeCommonCache(Map<K, V> map) Constructs a cache backed by the specifiedMapinstance
- 
Method SummaryModifier and TypeMethodDescriptionvoidInvoked when some of the held SoftReferences have been evicted by the garbage collector and so should be removed from the cache.clearAll()Clear the cachebooleancontainsKey(Object key) Determines if the cache contains an entry for the specified key.booleancontainsValue(Object value) convertValue(V value) convert the original value to the target valueentrySet()Gets a value from the cachegetAndPut(K key, MemoizeCache.ValueProvider<? super K, ? extends V> valueProvider) Try to get the value from cache.getAndPut(K key, MemoizeCache.ValueProvider<? super K, ? extends V> valueProvider, boolean shouldCache) booleanisEmpty()keys()Get all keys associated to cached valueskeySet()Associates the specified value with the specified key in the cache.voidRemove the cached value by the keyintsize()Get the size of the cachetoString()values()Get all cached valuesMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.codehaus.groovy.runtime.memoize.EvictableCacheclearMethods inherited from interface java.util.Mapcompute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll
- 
Field Details- 
DEFAULT_LOAD_FACTORpublic static final float DEFAULT_LOAD_FACTORThe default load factor- See Also:
 
- 
DEFAULT_INITIAL_CAPACITYpublic static final int DEFAULT_INITIAL_CAPACITYThe default initial capacity- See Also:
 
 
- 
- 
Constructor Details- 
CommonCachepublic CommonCache()Constructs a cache with unlimited size
- 
CommonCachepublic CommonCache(int initialCapacity, int maxSize, EvictableCache.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- EvictableCache.EvictionStrategy
 
- 
CommonCachepublic CommonCache(int initialCapacity, int maxSize) Constructs an LRU cache with the specified initial capacity and max size. The LRU cache is slower thanLRUCache- Parameters:
- initialCapacity- initial capacity of the LRU cache
- maxSize- max size of the LRU cache
 
- 
CommonCachepublic CommonCache(int maxSize) Constructs an LRU cache with the default initial capacity- Parameters:
- maxSize- max size of the LRU cache
- See Also:
 
- 
CommonCacheConstructs a cache backed by the specifiedMapinstance- Parameters:
- map- the- Mapinstance
 
 
- 
- 
Method Details- 
getGets a value from the cache
- 
putAssociates the specified value with the specified key in the cache.
- 
getAndPutTry to get the value from cache. If not found, create the value byMemoizeCache.ValueProviderand put it into the cache, at last return the value.- Specified by:
- getAndPutin interface- MemoizeCache<K,- V> 
- Parameters:
- key- the key to look up
- valueProvider- provide the value if the associated value not found
- Returns:
- the cached value
 
- 
getAndPutpublic V getAndPut(K key, MemoizeCache.ValueProvider<? super K, ? extends V> valueProvider, boolean shouldCache) - Specified by:
- getAndPutin interface- FlexibleEvictableCache<K,- V> 
 
- 
valuesGet all cached values
- 
entrySet
- 
keysGet all keys associated to cached values- Specified by:
- keysin interface- EvictableCache<K,- V> 
- Returns:
- all keys
 
- 
containsValue- Specified by:
- containsValuein interface- Map<K,- V> 
 
- 
containsKeyDetermines if the cache contains an entry for the specified key.- Specified by:
- containsKeyin interface- EvictableCache<K,- V> 
- Specified by:
- containsKeyin interface- Map<K,- V> 
- Parameters:
- key- key whose presence in this cache is to be tested.
- Returns:
- true if the cache contains a mapping for the specified key
 
- 
sizepublic int size()Get the size of the cache
- 
isEmptypublic boolean isEmpty()
- 
removeRemove the cached value by the key
- 
putAll
- 
keySet
- 
clearAllClear the cache- Specified by:
- clearAllin interface- EvictableCache<K,- V> 
- Returns:
- returns the content of the cleared map
 
- 
cleanUpNullReferencespublic void cleanUpNullReferences()Invoked when some of the held SoftReferences have been evicted by the garbage collector and so should be removed from the cache. The implementation must ensure that concurrent invocations of all methods on the cache may occur from other threads and thus should protect any shared resources.- Specified by:
- cleanUpNullReferencesin interface- MemoizeCache<K,- V> 
 
- 
toString
- 
convertValueconvert the original value to the target value- Specified by:
- convertValuein interface- ValueConvertable<K,- V> 
- Parameters:
- value- the original value
- Returns:
- the converted value
 
 
-