Java HTTP Server

com.sun.net.httpserver
Class Headers

java.lang.Object
  extended by com.sun.net.httpserver.Headers
All Implemented Interfaces:
Map<String,List<String>>

public class Headers
extends Object
implements Map<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 occurence of the header name in the request or response.

For example, if a response header instance contains one key "HeaderName" with two values "value1 and value2" then this object is output as two header lines:

 HeaderName: value1
 HeaderName: value2
 

All the normal Map methods are provided, but the following additional convenience methods are most likely to be used:

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.

Since:
1.6

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Constructor Summary
Headers()
           
 
Method Summary
 void add(String key, String value)
          adds the given value to the list of headers for the given key.
 void clear()
           
 boolean containsKey(Object key)
           
 boolean containsValue(Object value)
           
 Set<Map.Entry<String,List<String>>> entrySet()
           
 boolean equals(Object o)
           
 List<String> get(Object key)
           
 String getFirst(String key)
          returns the first value from the List of String values for the given key (if at least one exists).
 int hashCode()
           
 boolean isEmpty()
           
 Set<String> keySet()
           
 List<String> put(String key, List<String> value)
           
 void putAll(Map<? extends String,? extends List<String>> t)
           
 List<String> remove(Object key)
           
 void set(String key, String value)
          sets the given value as the sole header value for the given key.
 int size()
           
 Collection<List<String>> values()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Headers

public Headers()
Method Detail

size

public int size()
Specified by:
size in interface Map<String,List<String>>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Map<String,List<String>>

containsKey

public boolean containsKey(Object key)
Specified by:
containsKey in interface Map<String,List<String>>

containsValue

public boolean containsValue(Object value)
Specified by:
containsValue in interface Map<String,List<String>>

get

public List<String> get(Object key)
Specified by:
get in interface Map<String,List<String>>

getFirst

public String getFirst(String key)
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

put

public List<String> put(String key,
                        List<String> value)
Specified by:
put in interface Map<String,List<String>>

add

public void add(String key,
                String value)
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 name
value - the header value to add to the header

set

public void set(String key,
                String value)
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 name
value - the header value to set.

remove

public List<String> remove(Object key)
Specified by:
remove in interface Map<String,List<String>>

putAll

public void putAll(Map<? extends String,? extends List<String>> t)
Specified by:
putAll in interface Map<String,List<String>>

clear

public void clear()
Specified by:
clear in interface Map<String,List<String>>

keySet

public Set<String> keySet()
Specified by:
keySet in interface Map<String,List<String>>

values

public Collection<List<String>> values()
Specified by:
values in interface Map<String,List<String>>

entrySet

public Set<Map.Entry<String,List<String>>> entrySet()
Specified by:
entrySet in interface Map<String,List<String>>

equals

public boolean equals(Object o)
Specified by:
equals in interface Map<String,List<String>>
Overrides:
equals in class Object

hashCode

public int hashCode()
Specified by:
hashCode in interface Map<String,List<String>>
Overrides:
hashCode in class Object

Java HTTP Server