Class LRUCache<K,V>
- java.lang.Object
- 
- org.codehaus.groovy.runtime.memoize.LRUCache<K,V>
 
- 
- All Implemented Interfaces:
- MemoizeCache<K,V>
 
 @ThreadSafe public final class LRUCache<K,V> extends java.lang.Object implements MemoizeCache<K,V> A cache backed by a ConcurrentLinkedHashMap
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from interface org.codehaus.groovy.runtime.memoize.MemoizeCacheMemoizeCache.ValueProvider<K,V>
 
- 
 - 
Constructor SummaryConstructors Constructor Description LRUCache(int maxCacheSize)
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcleanUpNullReferences()Remove all entries holding SoftReferences to gc-evicted objects.Vget(K key)Gets a value from the cacheVgetAndPut(K key, MemoizeCache.ValueProvider<? super K,? extends V> valueProvider)The implementation of `getAndPut` is not atomicVput(K key, V value)Associates the specified value with the specified key in the cache.
 
- 
- 
- 
Method Detail- 
putpublic V put(K key, V value) Description copied from interface:MemoizeCacheAssociates the specified value with the specified key in the cache.- Specified by:
- putin interface- MemoizeCache<K,V>
- 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.
 
 - 
getpublic V get(K key) Description copied from interface:MemoizeCacheGets a value from the cache- Specified by:
- getin interface- MemoizeCache<K,V>
- Parameters:
- key- the key whose associated value is to be returned
- Returns:
- the value, or null, if it does not exist.
 
 - 
getAndPutpublic V getAndPut(K key, MemoizeCache.ValueProvider<? super K,? extends V> valueProvider) The implementation of `getAndPut` is not atomic- Specified by:
- getAndPutin interface- MemoizeCache<K,V>
- Returns:
- the cached value
 
 - 
cleanUpNullReferencespublic void cleanUpNullReferences() Remove all entries holding SoftReferences to gc-evicted objects.- Specified by:
- cleanUpNullReferencesin interface- MemoizeCache<K,V>
 
 
- 
 
-