Class InternCache

  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap<K,V>
          extended by java.util.LinkedHashMap<String,String>
              extended by 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
static InternCache instance
Method Summary
 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


public static final InternCache instance
Method Detail


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


public String intern(String input)