org.h2.util
Class SmallLRUCache<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 org.h2.util.SmallLRUCache<K,V>
Type Parameters:
K - the key
V - the value
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<K,V>

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

This class implements a small LRU object cache.

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>
 
Method Summary
static
<K,V> SmallLRUCache<K,V>
newInstance(int size)
          Create a new object with all elements of the given collection.
protected  boolean removeEldestEntry(java.util.Map.Entry<K,V> eldest)
           
 void setMaxSize(int size)
           
 
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
 

Method Detail

newInstance

public static <K,V> SmallLRUCache<K,V> newInstance(int size)
Create a new object with all elements of the given collection.

Type Parameters:
K - the key type
V - the value type
Parameters:
size - the number of elements
Returns:
the object

setMaxSize

public void setMaxSize(int size)

removeEldestEntry

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