com.fasterxml.jackson.databind.util

## Class LRUMap<K,V>

- java.lang.Object
- - java.util.AbstractMap<K,V>
  - - java.util.HashMap<K,V>
    - - java.util.LinkedHashMap<K,V>
      - - 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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    Constructors
    Constructor and Description
    `LRUMap(int initialEntries, int maxEntries)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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-2013 FasterXML. All Rights Reserved.