org.apache.camel.util
Class CaseInsensitiveMap

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap<java.lang.String,java.lang.Object>
          extended by org.apache.camel.util.CaseInsensitiveMap
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.String,java.lang.Object>

public class CaseInsensitiveMap
extends java.util.HashMap<java.lang.String,java.lang.Object>

A map that uses case insensitive keys, but preserves the original keys in the keySet.

This map allows you to do lookup using case insensitive keys so you can retrieve the value without worrying about whether some transport protocol affects the keys such as Http and Mail protocols can do.

When copying from this map to a regular Map such as HashMap then the original keys are copied over and you get the old behavior back using a regular Map with case sensitive keys.

This map is not designed to be thread safe as concurrent access to it is not supposed to be performed by the Camel routing engine.

Version:
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>
 
Constructor Summary
CaseInsensitiveMap()
           
CaseInsensitiveMap(int initialCapacity)
           
CaseInsensitiveMap(int initialCapacity, float loadFactor)
           
CaseInsensitiveMap(java.util.Map<? extends java.lang.String,?> map)
           
 
Method Summary
 void clear()
           
 boolean containsKey(java.lang.Object key)
           
 java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
           
 java.lang.Object get(java.lang.Object key)
           
 java.lang.Object put(java.lang.String key, java.lang.Object value)
           
 void putAll(java.util.Map<? extends java.lang.String,?> map)
           
 java.lang.Object remove(java.lang.Object key)
           
 
Methods inherited from class java.util.HashMap
clone, containsValue, isEmpty, keySet, 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
equals, hashCode
 

Constructor Detail

CaseInsensitiveMap

public CaseInsensitiveMap()

CaseInsensitiveMap

public CaseInsensitiveMap(java.util.Map<? extends java.lang.String,?> map)

CaseInsensitiveMap

public CaseInsensitiveMap(int initialCapacity,
                          float loadFactor)

CaseInsensitiveMap

public CaseInsensitiveMap(int initialCapacity)
Method Detail

get

public java.lang.Object get(java.lang.Object key)
Specified by:
get in interface java.util.Map<java.lang.String,java.lang.Object>
Overrides:
get in class java.util.HashMap<java.lang.String,java.lang.Object>

put

public java.lang.Object put(java.lang.String key,
                            java.lang.Object value)
Specified by:
put in interface java.util.Map<java.lang.String,java.lang.Object>
Overrides:
put in class java.util.HashMap<java.lang.String,java.lang.Object>

putAll

public void putAll(java.util.Map<? extends java.lang.String,?> map)
Specified by:
putAll in interface java.util.Map<java.lang.String,java.lang.Object>
Overrides:
putAll in class java.util.HashMap<java.lang.String,java.lang.Object>

remove

public java.lang.Object remove(java.lang.Object key)
Specified by:
remove in interface java.util.Map<java.lang.String,java.lang.Object>
Overrides:
remove in class java.util.HashMap<java.lang.String,java.lang.Object>

clear

public void clear()
Specified by:
clear in interface java.util.Map<java.lang.String,java.lang.Object>
Overrides:
clear in class java.util.HashMap<java.lang.String,java.lang.Object>

containsKey

public boolean containsKey(java.lang.Object key)
Specified by:
containsKey in interface java.util.Map<java.lang.String,java.lang.Object>
Overrides:
containsKey in class java.util.HashMap<java.lang.String,java.lang.Object>

entrySet

public java.util.Set<java.util.Map.Entry<java.lang.String,java.lang.Object>> entrySet()
Specified by:
entrySet in interface java.util.Map<java.lang.String,java.lang.Object>
Overrides:
entrySet in class java.util.HashMap<java.lang.String,java.lang.Object>


Apache CAMEL