org.codehaus.groovy.runtime.memoize
Class LRUCache

java.lang.Object
  extended by org.codehaus.groovy.runtime.memoize.LRUCache
All Implemented Interfaces:
MemoizeCache<java.lang.Object,java.lang.Object>

public final class LRUCache
extends java.lang.Object
implements MemoizeCache<java.lang.Object,java.lang.Object>

A cache backed by a Collections.SynchronizedMap


Constructor Summary
LRUCache(int maxCacheSize)
           
 
Method Summary
 void cleanUpNullReferences()
          Replying on the Collections.SynchronizedMap thread-safe iteration implementation the method will remove all entries holding SoftReferences to gc-evicted objects.
 java.lang.Object get(java.lang.Object key)
           
 java.lang.Object put(java.lang.Object key, java.lang.Object value)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LRUCache

public LRUCache(int maxCacheSize)
Method Detail

put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value)
Specified by:
put in interface MemoizeCache<java.lang.Object,java.lang.Object>

get

public java.lang.Object get(java.lang.Object key)
Specified by:
get in interface MemoizeCache<java.lang.Object,java.lang.Object>

cleanUpNullReferences

public void cleanUpNullReferences()
Replying on the Collections.SynchronizedMap thread-safe iteration implementation the method will remove all entries holding SoftReferences to gc-evicted objects.

Specified by:
cleanUpNullReferences in interface MemoizeCache<java.lang.Object,java.lang.Object>