Package org.apache.catalina.util
Class ParameterMap<K,V>
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.HashMap<K,V>
-
- java.util.LinkedHashMap<K,V>
-
- org.apache.catalina.util.ParameterMap<K,V>
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<K,V>
public final class ParameterMap<K,V> extends LinkedHashMap<K,V>
Extended implementation of HashMap that includes alocked
property. This class can be used to safely expose Catalina internal parameter map objects to user classes without having to clone them in order to avoid modifications. When first created, aParmaeterMap
instance is not locked.- Version:
- $Revision: 1.2 $ $Date: 2005/12/08 01:28:18 $
- Author:
- Craig R. McClanahan
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object,V extends Object>
-
-
Constructor Summary
Constructors Constructor Description ParameterMap()
Construct a new, empty map with the default initial capacity and load factor.ParameterMap(int initialCapacity)
Construct a new, empty map with the specified initial capacity and default load factor.ParameterMap(int initialCapacity, float loadFactor)
Construct a new, empty map with the specified initial capacity and load factor.ParameterMap(Map<K,V> map)
Construct a new map with the same mappings as the given map.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Remove all mappings from this map.boolean
isLocked()
Return the locked state of this parameter map.V
put(K key, V value)
Associate the specified value with the specified key in this map.void
putAll(Map<? extends K,? extends V> map)
Copy all of the mappings from the specified map to this one.V
remove(Object key)
Remove the mapping for this key from the map if present.void
setLocked(boolean locked)
Set the locked state of this parameter map.-
Methods inherited from class java.util.LinkedHashMap
containsValue, entrySet, forEach, get, getOrDefault, keySet, removeEldestEntry, replaceAll, values
-
Methods inherited from class java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, putIfAbsent, remove, replace, replace, size
-
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
compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, putIfAbsent, remove, replace, replace, size
-
-
-
-
Constructor Detail
-
ParameterMap
public ParameterMap()
Construct a new, empty map with the default initial capacity and load factor.
-
ParameterMap
public ParameterMap(int initialCapacity)
Construct a new, empty map with the specified initial capacity and default load factor.- Parameters:
initialCapacity
- The initial capacity of this map
-
ParameterMap
public ParameterMap(int initialCapacity, float loadFactor)
Construct a new, empty map with the specified initial capacity and load factor.- Parameters:
initialCapacity
- The initial capacity of this maploadFactor
- The load factor of this map
-
-
Method Detail
-
isLocked
public boolean isLocked()
Return the locked state of this parameter map.
-
setLocked
public void setLocked(boolean locked)
Set the locked state of this parameter map.- Parameters:
locked
- The new locked state
-
clear
public void clear()
Remove all mappings from this map.- Specified by:
clear
in interfaceMap<K,V>
- Overrides:
clear
in classLinkedHashMap<K,V>
- Throws:
IllegalStateException
- if this map is currently locked
-
put
public V put(K key, V value)
Associate the specified value with the specified key in this map. If the map previously contained a mapping for this key, the old value is replaced.- Specified by:
put
in interfaceMap<K,V>
- Overrides:
put
in classHashMap<K,V>
- Parameters:
key
- Key with which the specified value is to be associatedvalue
- Value to be associated with the specified key- Returns:
- The previous value associated with the specified key, or
null
if there was no mapping for key - Throws:
IllegalStateException
- if this map is currently locked
-
putAll
public void putAll(Map<? extends K,? extends V> map)
Copy all of the mappings from the specified map to this one. These mappings replace any mappings that this map had for any of the keys currently in the specified Map.
-
remove
public V remove(Object key)
Remove the mapping for this key from the map if present.- Specified by:
remove
in interfaceMap<K,V>
- Overrides:
remove
in classHashMap<K,V>
- Parameters:
key
- Key whose mapping is to be removed from the map- Returns:
- The previous value associated with the specified key, or
null
if there was no mapping for that key - Throws:
IllegalStateException
- if this map is currently locked
-
-