org.apache.http.message

## Interface HeaderValueFormatter

All Known Implementing Classes:
  BasicHeaderValueFormatter

    public interface HeaderValueFormatter

Interface for formatting elements of a header value. This is the complement to `HeaderValueParser`. Instances of this interface are expected to be stateless and thread-safe.

All formatting methods accept an optional buffer argument. If a buffer is passed in, the formatted element will be appended and the modified buffer is returned. If no buffer is passed in, a new buffer will be created and filled with the formatted element. In both cases, the caller is allowed to modify the returned buffer.

Since:
  4.0

### Method Summary

Methods
`CharArrayBuffer` `formatElements(CharArrayBuffer buffer, HeaderElement[] elems, boolean quote)` Formats an array of header elements.
`CharArrayBuffer` `formatHeaderElement(CharArrayBuffer buffer, HeaderElement elem, boolean quote)` Formats one header element.
`CharArrayBuffer` `formatNameValuePair(CharArrayBuffer buffer, NameValuePair nvp, boolean quote)` Formats one name-value pair, where the value is optional.
`CharArrayBuffer` `formatParameters(CharArrayBuffer buffer, NameValuePair[] nvps, boolean quote)` Formats the parameters of a header element.

### Method Detail

#### formatElements

    CharArrayBuffer formatElements(CharArrayBuffer buffer,
                                 HeaderElement[] elems,
                                 boolean quote)

Formats an array of header elements.

Parameters:
  `buffer` - the buffer to append to, or `null` to create a new buffer
  `elems` - the header elements to format
  `quote` - `true` to always format with quoted values, `false` to use quotes only when necessary
Returns:
  a buffer with the formatted header elements. If the `buffer` argument was not `null`, that buffer will be used and returned.

#### formatHeaderElement

    CharArrayBuffer formatHeaderElement(CharArrayBuffer buffer,
                                      HeaderElement elem,
                                      boolean quote)

Formats one header element.

Parameters:
  `buffer` - the buffer to append to, or `null` to create a new buffer
  `elem` - the header element to format
  `quote` - `true` to always format with quoted values, `false` to use quotes only when necessary
Returns:
  a buffer with the formatted header element. If the `buffer` argument was not `null`, that buffer will be used and returned.

#### formatParameters

    CharArrayBuffer formatParameters(CharArrayBuffer buffer,
                                   NameValuePair[] nvps,
                                   boolean quote)

Formats the parameters of a header element. That's a list of name-value pairs, to be separated by semicolons. This method will not generate a leading semicolon.

Parameters:
  `buffer` - the buffer to append to, or `null` to create a new buffer
  `nvps` - the parameters (name-value pairs) to format
  `quote` - `true` to always format with quoted values, `false` to use quotes only when necessary
Returns:
  a buffer with the formatted parameters. If the `buffer` argument was not `null`, that buffer will be used and returned.

#### formatNameValuePair

    CharArrayBuffer formatNameValuePair(CharArrayBuffer buffer,
                                      NameValuePair nvp,
                                      boolean quote)

Formats one name-value pair, where the value is optional.

Parameters:
  `buffer` - the buffer to append to, or `null` to create a new buffer
  `nvp` - the name-value pair to format
  `quote` - `true` to always format with a quoted value, `false` to use quotes only when necessary
Returns:
  a buffer with the formatted name-value pair. If the `buffer` argument was not `null`, that buffer will be used and returned.