org.apache.http.message

## Class BufferedHeader

- java.lang.Object
- - org.apache.http.message.BufferedHeader

- All Implemented Interfaces:
    Serializable, Cloneable, FormattedHeader, Header

      @NotThreadSafe
      public class BufferedHeader
      extends Object
      implements FormattedHeader, Cloneable, Serializable

  This class represents a raw HTTP header whose content is parsed 'on demand' only when the header value needs to be consumed.
  Since:
    4.0
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BufferedHeader(CharArrayBuffer buffer)` Creates a new header from a buffer.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `clone()`
    `CharArrayBuffer` | `getBuffer()` Obtains the buffer with the formatted header.
    `HeaderElement[]` | `getElements()` Parses the value.
    `String` | `getName()` Get the name of the Header.
    `String` | `getValue()` Get the value of the Header.
    `int` | `getValuePos()` Obtains the start of the header value in the `buffer`.
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### BufferedHeader

          public BufferedHeader(CharArrayBuffer buffer)
                         throws ParseException

      Creates a new header from a buffer. The name of the header will be parsed immediately, the value only if it is accessed.
      Parameters:
        `buffer` - the buffer containing the header to represent
      Throws:
        `ParseException` - in case of a parse error

  - ### Method Detail

    - #### getName

          public String getName()

      Description copied from interface: `Header`
      Get the name of the Header.
      Specified by:
        `getName` in interface `Header`
      Returns:
        the name of the Header, never `null`

    - #### getValue

          public String getValue()

      Description copied from interface: `Header`
      Get the value of the Header.
      Specified by:
        `getValue` in interface `Header`
      Returns:
        the value of the Header, may be `null`

    - #### getElements

          public HeaderElement[] getElements()
                                      throws ParseException

      Description copied from interface: `Header`
      Parses the value.
      Specified by:
        `getElements` in interface `Header`
      Returns:
        an array of `HeaderElement` entries, may be empty, but is never `null`
      Throws:
        `ParseException`

    - #### getValuePos

          public int getValuePos()

      Description copied from interface: `FormattedHeader`
      Obtains the start of the header value in the `buffer`. By accessing the value in the buffer, creation of a temporary string can be avoided.
      Specified by:
        `getValuePos` in interface `FormattedHeader`
      Returns:
        index of the first character of the header value in the buffer returned by `getBuffer`.

    - #### getBuffer

          public CharArrayBuffer getBuffer()

      Description copied from interface: `FormattedHeader`
      Obtains the buffer with the formatted header. The returned buffer MUST NOT be modified.
      Specified by:
        `getBuffer` in interface `FormattedHeader`
      Returns:
        the formatted header, in a buffer that must not be modified

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### clone

          public Object clone()
                       throws CloneNotSupportedException

      Overrides:
        `clone` in class `Object`
      Throws:
        `CloneNotSupportedException`

Copyright © 2005–2013 The Apache Software Foundation. All rights reserved.