org.apache.commons.httpclient
Class HeaderElement

java.lang.Object
  |
  +--org.apache.commons.httpclient.NameValuePair
        |
        +--org.apache.commons.httpclient.HeaderElement
All Implemented Interfaces:
java.io.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.

Version:
$Revision: 1.11 $ $Date: 2002/08/07 03:04:01 $
Author:
B.C. Holmes, Park, Sung-Gu
See Also:
Header, Serialized Form

Field Summary
protected  NameValuePair[] parameters
          My parameters, if any.
 
Constructor Summary
HeaderElement()
          Default constructor.
HeaderElement(java.lang.String name, java.lang.String value)
          Constructor.
HeaderElement(java.lang.String name, java.lang.String value, NameValuePair[] parameters)
          Constructor with name, value and parameters.
 
Method Summary
 NameValuePair[] getParameters()
          Get parameters, if any.
static HeaderElement[] parse(java.lang.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
 

Field Detail

parameters

protected NameValuePair[] parameters
My parameters, if any.
Constructor Detail

HeaderElement

public HeaderElement()
Default constructor.

HeaderElement

public HeaderElement(java.lang.String name,
                     java.lang.String value)
Constructor.
Parameters:
name - my name
value - my (possibly null) value

HeaderElement

public HeaderElement(java.lang.String name,
                     java.lang.String value,
                     NameValuePair[] parameters)
Constructor with name, value and parameters.
Parameters:
name - my name
value - my (possibly null) value
parameters - my (possibly null) parameters
Method Detail

getParameters

public NameValuePair[] getParameters()
Get parameters, if any.
Returns:
parameters as an array of NameValuePairs

parse

public static final HeaderElement[] parse(java.lang.String headerValue)
                                   throws HttpException
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:
the header elements containing Header elements.
Throws:
HttpException - if the above syntax rules are violated.


Copyright (c) 2001 - Apache Software Foundation