com.fasterxml.jackson.databind.util
Class LRUMap<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.fasterxml.jackson.databind.util.LRUMap<K,V>
All Implemented Interfaces:
Serializable, Cloneable, Map<K,V>

public class LRUMap<K,V>
extends LinkedHashMap<K,V>
implements Serializable

Helper for simple bounded LRU maps used for reusing lookup values.

Note that serialization behavior is such that contents are NOT serialized, on assumption that all use cases are for caching where persistence does not make sense. The only thing serialized is the cache size of Map.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
Field Summary
protected  int _jdkSerializeMaxEntries
          Ugly hack, to work through the requirement that _value is indeed final, and that JDK serialization won't call ctor(s) if Serializable is implemented.
protected  int _maxEntries
           
 
Constructor Summary
LRUMap(int initialEntries, int maxEntries)
           
 
Method Summary
protected  Object readResolve()
           
protected  boolean removeEldestEntry(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

_maxEntries

protected final int _maxEntries

_jdkSerializeMaxEntries

protected transient int _jdkSerializeMaxEntries
Ugly hack, to work through the requirement that _value is indeed final, and that JDK serialization won't call ctor(s) if Serializable is implemented.

Since:
2.1
Constructor Detail

LRUMap

public LRUMap(int initialEntries,
              int maxEntries)
Method Detail

removeEldestEntry

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

readResolve

protected Object readResolve()


Copyright © 2012 FasterXML. All Rights Reserved.