org.codehaus.jackson.util
Class InternCache

java.lang.Object
  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

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)