ParameterFormatter (HttpClient Library (Version 3.1))
Date: 2019-09-02

org.apache.commons.httpclient.util

## Class ParameterFormatter

- java.lang.Object
- - org.apache.commons.httpclient.util.ParameterFormatter

-     public class ParameterFormatter
      extends java.lang.Object

  This formatter produces a textual representation of attribute/value pairs. It comforms to the generic grammar and formatting rules outlined in the Section 2.1 and Section 3.6 of RFC 2616

  2.1 Augmented BNF

  Many HTTP/1.1 header field values consist of words separated by LWS or special characters. These special characters MUST be in a quoted string to be used within a parameter value (as defined in section 3.6).

       token          = 1*
       separators     = "(" | ")" | "<" | ">" | "@"
                      | "," | ";" | ":" | "\" | <">
                      | "/" | "[" | "]" | "?" | "="
                      | "{" | "}" | SP | HT

  A string of text is parsed as a single word if it is quoted using double-quote marks.

       quoted-string  = ( <"> *(qdtext | quoted-pair ) <"> )
       qdtext         = >

  The backslash character ("\") MAY be used as a single-character quoting mechanism only within quoted-string and comment constructs.

       quoted-pair    = "\" CHAR

  3.6 Transfer Codings

  Parameters are in the form of attribute/value pairs.

       parameter               = attribute "=" value
       attribute               = token
       value                   = token | quoted-string

  Since:
    3.0
  Author:
    Oleg Kalnichevski

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ParameterFormatter()` Default ParameterFormatter constructor

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `format(NameValuePair param)` Produces textual representaion of the attribute/value pair using formatting rules defined in RFC 2616
    `void` | `format(java.lang.StringBuffer buffer, NameValuePair param)` Produces textual representaion of the attribute/value pair using formatting rules defined in RFC 2616
    `static void` | `formatValue(java.lang.StringBuffer buffer, java.lang.String value, boolean alwaysUseQuotes)` Formats the given parameter value using formatting rules defined in RFC 2616
    `boolean` | `isAlwaysUseQuotes()` Determines whether all parameter values must be enclosed in quotation marks, even if they do not contain any special characters
    `void` | `setAlwaysUseQuotes(boolean alwaysUseQuotes)` Defines whether all parameter values must be enclosed in quotation marks, even if they do not contain any special characters

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

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

- - ### Constructor Detail

    - #### ParameterFormatter

          public ParameterFormatter()

      Default ParameterFormatter constructor

  - ### Method Detail

    - #### isAlwaysUseQuotes

          public boolean isAlwaysUseQuotes()

      Determines whether all parameter values must be enclosed in quotation marks, even if they do not contain any special characters
      Returns:
        `true` if all parameter values must be enclosed in quotation marks, `false` otherwise

    - #### setAlwaysUseQuotes

          public void setAlwaysUseQuotes(boolean alwaysUseQuotes)

      Defines whether all parameter values must be enclosed in quotation marks, even if they do not contain any special characters
      Parameters:
        `alwaysUseQuotes` -

    - #### formatValue

          public static void formatValue(java.lang.StringBuffer buffer,
                                         java.lang.String value,
                                         boolean alwaysUseQuotes)

      Formats the given parameter value using formatting rules defined in RFC 2616
      Parameters:
        `buffer` - output buffer
        `value` - the parameter value to be formatted
        `alwaysUseQuotes` - `true` if the parameter value must be enclosed in quotation marks, even if it does not contain any special characters`, false` only if the parameter value contains potentially unsafe special characters

    - #### format

          public void format(java.lang.StringBuffer buffer,
                             NameValuePair param)

      Produces textual representaion of the attribute/value pair using formatting rules defined in RFC 2616
      Parameters:
        `buffer` - output buffer
        `param` - the parameter to be formatted

    - #### format

          public java.lang.String format(NameValuePair param)

      Produces textual representaion of the attribute/value pair using formatting rules defined in RFC 2616
      Parameters:
        `param` - the parameter to be formatted
      Returns:
        RFC 2616 conformant textual representaion of the attribute/value pair

Copyright (c) 1999-2005 - Apache Software Foundation