org.apache.http.message
Class BasicHeaderElement

java.lang.Object
  extended by org.apache.http.message.BasicHeaderElement
All Implemented Interfaces:
HeaderElement

public class BasicHeaderElement
extends java.lang.Object
implements HeaderElement

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(org.apache.http.util.CharArrayBuffer, int, int) method for parsing a Header value into an array of elements.

Since:
4.0
Version:
$Revision: 503412 $ $Date: 2007-02-04 15:14:42 +0100 (Sun, 04 Feb 2007) $
Author:
B.C. Holmes, Park, Sung-Gu, Mike Bowler, Oleg Kalnichevski

Constructor Summary
BasicHeaderElement(java.lang.String name, java.lang.String value)
          Constructor with name and value.
BasicHeaderElement(java.lang.String name, java.lang.String value, NameValuePair[] parameters)
          Constructor with name, value and parameters.
 
Method Summary
 boolean equals(java.lang.Object object)
           
static void format(CharArrayBuffer buffer, HeaderElement element)
           
static java.lang.String format(HeaderElement element)
           
static void formatAll(CharArrayBuffer buffer, HeaderElement[] elements)
           
static java.lang.String formatAll(HeaderElement[] elements)
           
 java.lang.String getName()
          Returns the name.
 NameValuePair getParameterByName(java.lang.String name)
          Returns parameter with the given name, if found.
 NameValuePair[] getParameters()
          Get parameters, if any.
 java.lang.String getValue()
          Returns the value.
 int hashCode()
           
static HeaderElement parse(CharArrayBuffer buffer, int indexFrom, int indexTo)
           
static HeaderElement parse(java.lang.String s)
           
static HeaderElement[] parseAll(CharArrayBuffer buffer, int indexFrom, int indexTo)
          This parses the value part of a header.
static HeaderElement[] parseAll(java.lang.String s)
          This parses the value part of a header.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BasicHeaderElement

public BasicHeaderElement(java.lang.String name,
                          java.lang.String value,
                          NameValuePair[] parameters)
Constructor with name, value and parameters.

Parameters:
name - header element name
value - header element value. May be null
parameters - header element parameters. May be null

BasicHeaderElement

public BasicHeaderElement(java.lang.String name,
                          java.lang.String value)
Constructor with name and value.

Parameters:
name - header element name
value - header element value. May be null
Method Detail

getName

public java.lang.String getName()
Returns the name.

Specified by:
getName in interface HeaderElement
Returns:
String name The name

getValue

public java.lang.String getValue()
Returns the value.

Specified by:
getValue in interface HeaderElement
Returns:
String value The current value.

getParameters

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

Specified by:
getParameters in interface HeaderElement
Returns:
parameters as an array of NameValuePairs

parseAll

public static final HeaderElement[] parseAll(CharArrayBuffer buffer,
                                             int indexFrom,
                                             int indexTo)
This parses the value part of a header. The result is an array of HeaderElement objects.

Parameters:
buffer - the buffer from which to parse
indexFrom - where to start parsing in the buffer
indexTo - where to stop parsing in the buffer
Returns:
array of HeaderElements.

parseAll

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

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

parse

public static HeaderElement parse(CharArrayBuffer buffer,
                                  int indexFrom,
                                  int indexTo)

parse

public static final HeaderElement parse(java.lang.String s)

format

public static void format(CharArrayBuffer buffer,
                          HeaderElement element)

format

public static java.lang.String format(HeaderElement element)

formatAll

public static void formatAll(CharArrayBuffer buffer,
                             HeaderElement[] elements)

formatAll

public static java.lang.String formatAll(HeaderElement[] elements)

getParameterByName

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

Specified by:
getParameterByName in interface HeaderElement
Parameters:
name - The name to search by.
Returns:
NameValuePair parameter with the given name

equals

public boolean equals(java.lang.Object object)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object


Copyright © 2005-2009 Apache Software Foundation. All Rights Reserved.