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
`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`