Package com.aspectran.core.util
Class LinkedCaseInsensitiveMap<V>
- java.lang.Object
-
- com.aspectran.core.util.LinkedCaseInsensitiveMap<V>
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.util.Map<java.lang.String,V>
public class LinkedCaseInsensitiveMap<V> extends java.lang.Object implements java.util.Map<java.lang.String,V>, java.io.Serializable, java.lang.CloneableThis class is a clone of org.springframework.util.LinkedCaseInsensitiveMap
LinkedHashMapvariant that stores String keys in a case-insensitive manner, for example for key-based access in a results table.Preserves the original order as well as the original casing of keys, while allowing for contains, get and remove calls with any case of key.
Does not support
nullkeys.- Author:
- Juergen Hoeller
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description LinkedCaseInsensitiveMap()Create a new LinkedCaseInsensitiveMap that stores case-insensitive keys according to the default Locale (by default in lower case).LinkedCaseInsensitiveMap(int initialCapacity)Create a new LinkedCaseInsensitiveMap that wraps aLinkedHashMapwith the given initial capacity and stores case-insensitive keys according to the default Locale (by default in lower case).LinkedCaseInsensitiveMap(int initialCapacity, java.util.Locale locale)Create a new LinkedCaseInsensitiveMap that wraps aLinkedHashMapwith the given initial capacity and stores case-insensitive keys according to the given Locale (by default in lower case).LinkedCaseInsensitiveMap(java.util.Locale locale)Create a new LinkedCaseInsensitiveMap that stores case-insensitive keys according to the given Locale (by default in lower case).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()LinkedCaseInsensitiveMap<V>clone()booleancontainsKey(java.lang.Object key)booleancontainsValue(java.lang.Object value)protected java.lang.StringconvertKey(java.lang.String key)Convert the given key to a case-insensitive key.java.util.Set<java.util.Map.Entry<java.lang.String,V>>entrySet()booleanequals(java.lang.Object obj)Vget(java.lang.Object key)java.util.LocalegetLocale()Return the locale used by thisLinkedCaseInsensitiveMap.VgetOrDefault(java.lang.Object key, V defaultValue)inthashCode()booleanisEmpty()java.util.Set<java.lang.String>keySet()Vput(java.lang.String key, V value)voidputAll(java.util.Map<? extends java.lang.String,? extends V> map)Vremove(java.lang.Object key)protected booleanremoveEldestEntry(java.util.Map.Entry<java.lang.String,V> eldest)Determine whether this map should remove the given eldest entry.intsize()java.lang.StringtoString()java.util.Collection<V>values()
-
-
-
Constructor Detail
-
LinkedCaseInsensitiveMap
public LinkedCaseInsensitiveMap()
Create a new LinkedCaseInsensitiveMap that stores case-insensitive keys according to the default Locale (by default in lower case).- See Also:
convertKey(String)
-
LinkedCaseInsensitiveMap
public LinkedCaseInsensitiveMap(java.util.Locale locale)
Create a new LinkedCaseInsensitiveMap that stores case-insensitive keys according to the given Locale (by default in lower case).- Parameters:
locale- the Locale to use for case-insensitive key conversion- See Also:
convertKey(String)
-
LinkedCaseInsensitiveMap
public LinkedCaseInsensitiveMap(int initialCapacity)
Create a new LinkedCaseInsensitiveMap that wraps aLinkedHashMapwith the given initial capacity and stores case-insensitive keys according to the default Locale (by default in lower case).- Parameters:
initialCapacity- the initial capacity- See Also:
convertKey(String)
-
LinkedCaseInsensitiveMap
public LinkedCaseInsensitiveMap(int initialCapacity, java.util.Locale locale)Create a new LinkedCaseInsensitiveMap that wraps aLinkedHashMapwith the given initial capacity and stores case-insensitive keys according to the given Locale (by default in lower case).- Parameters:
initialCapacity- the initial capacitylocale- the Locale to use for case-insensitive key conversion- See Also:
convertKey(String)
-
-
Method Detail
-
size
public int size()
- Specified by:
sizein interfacejava.util.Map<java.lang.String,V>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Map<java.lang.String,V>
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKeyin interfacejava.util.Map<java.lang.String,V>
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValuein interfacejava.util.Map<java.lang.String,V>
-
get
public V get(java.lang.Object key)
- Specified by:
getin interfacejava.util.Map<java.lang.String,V>
-
getOrDefault
public V getOrDefault(java.lang.Object key, V defaultValue)
- Specified by:
getOrDefaultin interfacejava.util.Map<java.lang.String,V>
-
put
public V put(java.lang.String key, V value)
- Specified by:
putin interfacejava.util.Map<java.lang.String,V>
-
putAll
public void putAll(java.util.Map<? extends java.lang.String,? extends V> map)
- Specified by:
putAllin interfacejava.util.Map<java.lang.String,V>
-
remove
public V remove(java.lang.Object key)
- Specified by:
removein interfacejava.util.Map<java.lang.String,V>
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Map<java.lang.String,V>
-
keySet
public java.util.Set<java.lang.String> keySet()
- Specified by:
keySetin interfacejava.util.Map<java.lang.String,V>
-
values
public java.util.Collection<V> values()
- Specified by:
valuesin interfacejava.util.Map<java.lang.String,V>
-
entrySet
public java.util.Set<java.util.Map.Entry<java.lang.String,V>> entrySet()
- Specified by:
entrySetin interfacejava.util.Map<java.lang.String,V>
-
clone
public LinkedCaseInsensitiveMap<V> clone()
- Overrides:
clonein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Specified by:
equalsin interfacejava.util.Map<java.lang.String,V>- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.util.Map<java.lang.String,V>- Overrides:
hashCodein classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
getLocale
public java.util.Locale getLocale()
Return the locale used by thisLinkedCaseInsensitiveMap. Used for case-insensitive key conversion.- Returns:
- the locale to use when changing to lowercase
- See Also:
LinkedCaseInsensitiveMap(Locale),convertKey(String)
-
convertKey
protected java.lang.String convertKey(java.lang.String key)
Convert the given key to a case-insensitive key.The default implementation converts the key to lower-case according to this Map's Locale.
- Parameters:
key- the user-specified key- Returns:
- the key to use for storing
- See Also:
String.toLowerCase(Locale)
-
removeEldestEntry
protected boolean removeEldestEntry(java.util.Map.Entry<java.lang.String,V> eldest)
Determine whether this map should remove the given eldest entry.- Parameters:
eldest- the candidate entry- Returns:
truefor removing it,falsefor keeping it- See Also:
LinkedHashMap.removeEldestEntry(java.util.Map.Entry<K, V>)
-
-