org.codehaus.jackson.util

## Class InternCache

- java.lang.Object
- - java.util.AbstractMap<K,V>
  - - java.util.HashMap<K,V>
    - - java.util.LinkedHashMap<String,String>
      - - org.codehaus.jackson.util.InternCache

- All Implemented Interfaces:
    Serializable, Cloneable, Map<String,String>

      public final class InternCache
      extends LinkedHashMap<String,String>

  Singleton class that adds a simple first-level cache in front of regular String.intern() functionality. This is done as a minor performance optimization, to avoid calling native intern() method in cases where same String is being interned multiple times.

  Note: that this class extends `LinkedHashMap` is an implementation detail -- no code should ever directly call Map methods.

  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
    --- | ---
    `static InternCache` | `instance`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `intern(String input)`
    `protected boolean` | `removeEldestEntry(Map.Entry<String,String> 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

    - #### instance

          public static final InternCache instance

  - ### Method Detail

    - #### removeEldestEntry

          protected boolean removeEldestEntry(Map.Entry<String,String> eldest)

      Overrides:
        `removeEldestEntry` in class `LinkedHashMap<String,String>`

    - #### intern

          public String intern(String input)