com.metamatrix.core.util
Class LRUCache<K,V>

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap<K,V>
          extended by java.util.LinkedHashMap<K,V>
              extended by com.metamatrix.core.util.LRUCache<K,V>
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<K,V>

public class LRUCache<K,V>
extends java.util.LinkedHashMap<K,V>

This class replaces a verbose legacy implementation of LRUCaching. However technically this is an eldest first purging policy.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
 
Field Summary
protected static int DEFAULT_SPACELIMIT
          Default amount of space in the cache
protected  int maxSize
           
 
Constructor Summary
LRUCache()
          Creates a new cache.
LRUCache(int maxSize)
           
 
Method Summary
 int getSpaceLimit()
           
protected  boolean removeEldestEntry(java.util.Map.Entry<K,V> eldest)
           
 
Methods inherited from class java.util.LinkedHashMap
clear, containsValue, get
 
Methods inherited from class java.util.HashMap
clone, containsKey, entrySet, isEmpty, keySet, put, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
containsKey, entrySet, equals, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Field Detail

DEFAULT_SPACELIMIT

protected static final int DEFAULT_SPACELIMIT
Default amount of space in the cache

See Also:
Constant Field Values

maxSize

protected int maxSize
Constructor Detail

LRUCache

public LRUCache()
Creates a new cache. Size of cache is defined by DEFAULT_SPACELIMIT.


LRUCache

public LRUCache(int maxSize)
Method Detail

removeEldestEntry

protected boolean removeEldestEntry(java.util.Map.Entry<K,V> eldest)
Overrides:
removeEldestEntry in class java.util.LinkedHashMap<K,V>

getSpaceLimit

public int getSpaceLimit()


Copyright © 2009. All Rights Reserved.