java.lang.Object
edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.NameValuePair
edu.internet2.middleware.grouperClientExt.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: 480424 $ $Date: 2006-11-29 06:56:49 +0100 (Wed, 29 Nov 2006) $
See Also:
  • Constructor Details

    • 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 Details

    • 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