Class ConcurrentSoftCache<K,V>
- java.lang.Object
 - 
- org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache<K,SoftReference<V>>
 - 
- org.codehaus.groovy.runtime.memoize.ConcurrentSoftCache<K,V>
 
 
 
- 
- Type Parameters:
 K- key typeV- real value type
- All Implemented Interfaces:
 Serializable,Map<K,SoftReference<V>>,EvictableCache<K,SoftReference<V>>,MemoizeCache<K,SoftReference<V>>,ValueConvertable<SoftReference<V>,Object>
public class ConcurrentSoftCache<K,V> extends ConcurrentCommonCache<K,SoftReference<V>>
Represents concurrent cache holding SoftReference instance as value- See Also:
 - Serialized Form
 
 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from interface org.codehaus.groovy.runtime.memoize.EvictableCache
EvictableCache.Action<K,V,R>, EvictableCache.EvictionStrategy 
- 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K extends Object,V extends Object> 
- 
Nested classes/interfaces inherited from interface org.codehaus.groovy.runtime.memoize.MemoizeCache
MemoizeCache.ValueProvider<K,V> 
 - 
 
- 
Constructor Summary
Constructors Constructor Description ConcurrentSoftCache()Constructs a cache with unlimited sizeConcurrentSoftCache(int maxSize)Constructs a LRU cache with the default initial capacity(16)ConcurrentSoftCache(int initialCapacity, int maxSize)Constructs a LRU cache with the specified initial capacity and max size.ConcurrentSoftCache(int initialCapacity, int maxSize, EvictableCache.EvictionStrategy evictionStrategy)Constructs a cache with limited sizeConcurrentSoftCache(Map<K,SoftReference<V>> map)Constructs a cache backed by the specifiedMapinstance 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ObjectconvertValue(SoftReference<V> value)convert the original value to the target value- 
Methods inherited from class org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache
cleanUpNullReferences, clearAll, containsKey, containsValue, entrySet, get, getAndPut, getAndPut, isEmpty, keys, keySet, put, putAll, remove, size, values 
- 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Methods inherited from interface org.codehaus.groovy.runtime.memoize.EvictableCache
clear 
- 
Methods inherited from interface java.util.Map
compute, computeIfAbsent, computeIfPresent, equals, forEach, getOrDefault, hashCode, merge, putIfAbsent, remove, replace, replace, replaceAll 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
ConcurrentSoftCache
public ConcurrentSoftCache()
Constructs a cache with unlimited size 
- 
ConcurrentSoftCache
public ConcurrentSoftCache(int initialCapacity, int maxSize, EvictableCache.EvictionStrategy evictionStrategy)Constructs a cache with limited size- Parameters:
 initialCapacity- initial capacity of the cachemaxSize- max size of the cacheevictionStrategy- LRU or FIFO, seeEvictableCache.EvictionStrategy
 
- 
ConcurrentSoftCache
public ConcurrentSoftCache(int initialCapacity, int maxSize)Constructs a LRU cache with the specified initial capacity and max size. The LRU cache is slower thanLRUCache- Parameters:
 initialCapacity- initial capacity of the LRU cachemaxSize- max size of the LRU cache
 
- 
ConcurrentSoftCache
public ConcurrentSoftCache(int maxSize)
Constructs a LRU cache with the default initial capacity(16)- Parameters:
 maxSize- max size of the LRU cache- See Also:
 ConcurrentSoftCache(int, int)
 
 - 
 
- 
Method Detail
- 
convertValue
public Object convertValue(SoftReference<V> value)
convert the original value to the target value- Specified by:
 convertValuein interfaceValueConvertable<K,V>- Overrides:
 convertValuein classConcurrentCommonCache<K,SoftReference<V>>- Parameters:
 value- the original value- Returns:
 - the converted value
 
 
 - 
 
 -