Class ParameterMap

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.util.Map<java.lang.String,​java.lang.String[]>

    public final class ParameterMap
    extends java.util.LinkedHashMap<java.lang.String,​java.lang.String[]>
    Extended implementation of LinkedHashMap that includes a locked 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, a ParameterMap instance is not locked.
    Version:
    $Revision: 1.4 $ $Date: 2007/06/18 17:41:35 $
    Author:
    Craig R. McClanahan
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.util.AbstractMap

        java.util.AbstractMap.SimpleEntry<K extends java.lang.Object,​V extends java.lang.Object>, java.util.AbstractMap.SimpleImmutableEntry<K extends java.lang.Object,​V extends java.lang.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​(java.util.Map<java.lang.String,​java.lang.String[]> 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.
      java.lang.String[] put​(java.lang.String key, java.lang.String[] value)
      Associate the specified value with the specified key in this map.
      void putAll​(java.util.Map map)
      Copy all of the mappings from the specified map to this one.
      java.lang.Object remove​(java.lang.String 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, 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, 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 map
        loadFactor - The load factor of this map
      • ParameterMap

        public ParameterMap​(java.util.Map<java.lang.String,​java.lang.String[]> map)
        Construct a new map with the same mappings as the given map.
        Parameters:
        map - Map whose contents are duplicated in the new 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 interface java.util.Map<java.lang.String,​java.lang.String[]>
        Overrides:
        clear in class java.util.LinkedHashMap<java.lang.String,​java.lang.String[]>
        Throws:
        java.lang.IllegalStateException - if this map is currently locked
      • put

        public java.lang.String[] put​(java.lang.String key,
                                      java.lang.String[] 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 interface java.util.Map<java.lang.String,​java.lang.String[]>
        Overrides:
        put in class java.util.HashMap<java.lang.String,​java.lang.String[]>
        Parameters:
        key - Key with which the specified value is to be associated
        value - 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:
        java.lang.IllegalStateException - if this map is currently locked
      • putAll

        public void putAll​(java.util.Map 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.
        Specified by:
        putAll in interface java.util.Map<java.lang.String,​java.lang.String[]>
        Overrides:
        putAll in class java.util.HashMap<java.lang.String,​java.lang.String[]>
        Parameters:
        map - Mappings to be stored into this map
        Throws:
        java.lang.IllegalStateException - if this map is currently locked
      • remove

        public java.lang.Object remove​(java.lang.String key)
        Remove the mapping for this key from the map if present.
        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:
        java.lang.IllegalStateException - if this map is currently locked