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<java.lang.String,java.lang.String>
              extended by org.codehaus.jackson.util.InternCache
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.String,java.lang.String>

public final class InternCache
extends java.util.LinkedHashMap<java.lang.String,java.lang.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
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
 
Field Summary
static InternCache instance
           
 
Method Summary
 java.lang.String intern(java.lang.String input)
           
protected  boolean removeEldestEntry(java.util.Map.Entry<java.lang.String,java.lang.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(java.util.Map.Entry<java.lang.String,java.lang.String> eldest)
Overrides:
removeEldestEntry in class java.util.LinkedHashMap<java.lang.String,java.lang.String>

intern

public java.lang.String intern(java.lang.String input)