org.apache.commons.httpclient
Class HeaderElement

java.lang.Object
  extended by org.apache.commons.httpclient.NameValuePair
      extended by org.apache.commons.httpclient.HeaderElement
All Implemented Interfaces:
Serializable

public class HeaderElement
extends NameValuePair

One element of an HTTP header's value.

Some HTTP headers (such as the set-cookie header) have values that can be decomposed into multiple elements. Such headers must be in the following form:

 header  = [ element ] *( "," [ element ] )
 element = name [ "=" [ value ] ] *( ";" [ param ] )
 param   = name [ "=" [ value ] ]

 name    = token
 value   = ( token | quoted-string )

 token         = 1*<any char except "=", ",", ";", <"> and
                       white space>
 quoted-string = <"> *( text | quoted-char ) <">
 text          = any char except <">
 quoted-char   = "\" char
 

Any amount of white space is allowed between any part of the header, element or param and is ignored. A missing value in any element or param will be stored as the empty String; if the "=" is also missing null will be stored instead.

This class represents an individual header element, containing both a name/value pair (value may be null) and optionally a set of additional parameters.

This class also exposes a parse(java.lang.String) method for parsing a Header value into an array of elements.

Since:
1.0
Version:
$Revision$ $Date$
Author:
B.C. Holmes, Park, Sung-Gu, Mike Bowler, Oleg Kalnichevski
See Also:
Header, Serialized Form

Constructor Summary
HeaderElement()
          Default constructor.
HeaderElement(char[] chars)
          Constructor with array of characters.
HeaderElement(char[] chars, int offset, int length)
          Constructor with array of characters.
HeaderElement(String name, String value)
          Constructor.
HeaderElement(String name, String value, NameValuePair[] parameters)
          Constructor with name, value and parameters.
 
Method Summary
 NameValuePair getParameterByName(String name)
          Returns parameter with the given name, if found.
 NameValuePair[] getParameters()
          Get parameters, if any.
static HeaderElement[] parse(String headerValue)
          Deprecated. Use #parseElements(String).
static HeaderElement[] parseElements(char[] headerValue)
          This parses the value part of a header.
static HeaderElement[] parseElements(String headerValue)
          This parses the value part of a header.
 
Methods inherited from class org.apache.commons.httpclient.NameValuePair
equals, getName, getValue, hashCode, setName, setValue, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HeaderElement

public HeaderElement()
Default constructor.


HeaderElement

public HeaderElement(String name,
                     String value)
Constructor.

Parameters:
name - my name
value - my (possibly null) value

HeaderElement

public HeaderElement(String name,
                     String value,
                     NameValuePair[] parameters)
Constructor with name, value and parameters.

Parameters:
name - my name
value - my (possibly null) value
parameters - my (possibly null) parameters

HeaderElement

public HeaderElement(char[] chars,
                     int offset,
                     int length)
Constructor with array of characters.

Parameters:
chars - the array of characters
offset - - the initial offset.
length - - the length.
Since:
3.0

HeaderElement

public HeaderElement(char[] chars)
Constructor with array of characters.

Parameters:
chars - the array of characters
Since:
3.0
Method Detail

getParameters

public NameValuePair[] getParameters()
Get parameters, if any.

Returns:
parameters as an array of NameValuePairs
Since:
2.0

parseElements

public static final HeaderElement[] parseElements(char[] headerValue)
This parses the value part of a header. The result is an array of HeaderElement objects.

Parameters:
headerValue - the array of char representation of the header value (as received from the web server).
Returns:
array of HeaderElements.
Since:
3.0

parseElements

public static final HeaderElement[] parseElements(String headerValue)
This parses the value part of a header. The result is an array of HeaderElement objects.

Parameters:
headerValue - the string representation of the header value (as received from the web server).
Returns:
array of HeaderElements.
Since:
3.0

parse

public static final HeaderElement[] parse(String headerValue)
                                   throws HttpException
Deprecated. Use #parseElements(String).

This parses the value part of a header. The result is an array of HeaderElement objects.

Parameters:
headerValue - the string representation of the header value (as received from the web server).
Returns:
array of HeaderElements.
Throws:
HttpException - if the above syntax rules are violated.

getParameterByName

public NameValuePair getParameterByName(String name)
Returns parameter with the given name, if found. Otherwise null is returned

Parameters:
name - The name to search by.
Returns:
NameValuePair parameter with the given name


Copyright © 2001-2008 Apache Software Foundation. All Rights Reserved.