- All Implemented Interfaces:
Serializable
,Cloneable
,Map<String,
,List<String>> NavigableMap<String,
,List<String>> SortedMap<String,
List<String>>
HTTP request and response headers are represented by this class which implements
the interface
Map
<String
,
List
<String
>>.
The keys are case-insensitive Strings representing the header names and
the value associated with each key is a List
<String
> with one
element for each occurrence of the header name in the request or response.
For example, if the request has the the following headers:
HeaderName: value1 HeadernaMe: value2Then get("hEaDeRnAmE") would give both "value1", and "value2" values in a list
All the normal Map
methods are provided, but the following
additional convenience methods are most likely to be used:
getFirst(String)
returns a single valued header or the first value of a multi-valued header.add(String,String)
adds the given header value to the list for the given keyset(String,String)
sets the given header field to the single value given overwriting any existing values in the value list.
All methods in this class accept null
values for keys and values.
However, null keys will never will be present in HTTP request headers, and
will not be output/sent in response headers. Null values can be represented
as either a null entry for the key (i.e. the list is null) or where the key
has a list, but one (or more) of the list's values is null. Null values are
output as a header line containing the key but no associated value.
- Author:
- Jitendra Kotamraju
- See Also:
-
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds the given value to the list of headers for the given key.Returns the first value from the List of String values for the given key (if at least one exists).void
Added to fix issue putAll() is easier to deal with as it doesn't return anythingvoid
Sets the given value as the sole header value for the given key.Methods inherited from class java.util.TreeMap
ceilingEntry, ceilingKey, clear, clone, comparator, containsKey, containsValue, descendingKeySet, descendingMap, entrySet, firstEntry, firstKey, floorEntry, floorKey, forEach, get, headMap, headMap, higherEntry, higherKey, keySet, lastEntry, lastKey, lowerEntry, lowerKey, navigableKeySet, pollFirstEntry, pollLastEntry, put, remove, replace, replace, replaceAll, size, subMap, subMap, tailMap, tailMap, values
Methods inherited from class java.util.AbstractMap
equals, hashCode, isEmpty, 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, equals, getOrDefault, hashCode, isEmpty, merge, putIfAbsent, remove
-
Constructor Details
-
Headers
public Headers()
-
-
Method Details
-
add
Adds the given value to the list of headers for the given key. If the mapping does not already exist, then it is created.- Parameters:
key
- the header namevalue
- the header value to add to the header
-
getFirst
Returns the first value from the List of String values for the given key (if at least one exists).- Parameters:
key
- the key to search for- Returns:
- the first string value associated with the key
-
set
Sets the given value as the sole header value for the given key. If the mapping does not already exist, then it is created.- Parameters:
key
- the header namevalue
- the header value to set.
-
putAll
Added to fix issue putAll() is easier to deal with as it doesn't return anything
-