com.im.df/1 5.8

com.im.df.util
Class CachingMap<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.im.df.util.CachingMap<K,V>
All Implemented Interfaces:
Serializable, Cloneable, Map<K,V>

public class CachingMap<K,V>
extends LinkedHashMap<K,V>

The map that acts as LRU cache. The cache is kept to a maximum size by removing the eldest entries when the list size exceeds the value of cache size (see CachingMap(int)). Eldest entries are those least recently accessed.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
Constructor Summary
CachingMap(int cacheSize)
           
 
Method Summary
 int getCacheSize()
           
protected  boolean removeEldestEntry(Map.Entry<K,V> eldest)
           
 void setCacheSize(int cacheSize)
           
 void setPermanentItemKey(K key)
           
 
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
 

Constructor Detail

CachingMap

public CachingMap(int cacheSize)
Parameters:
cacheSize - maximum number of entries allowed in this cache
Method Detail

removeEldestEntry

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

getCacheSize

public int getCacheSize()

setCacheSize

public void setCacheSize(int cacheSize)

setPermanentItemKey

public void setPermanentItemKey(K key)

com.im.df/1 5.8