java.lang.Object
edu.internet2.middleware.grouperClientExt.org.apache.commons.httpclient.util.ParameterFormatter

public class ParameterFormatter extends 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         = <any TEXT except <">>
 

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
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default ParameterFormatter constructor
  • Method Summary

    Modifier and Type
    Method
    Description
    Produces textual representaion of the attribute/value pair using formatting rules defined in RFC 2616
    void
    Produces textual representaion of the attribute/value pair using formatting rules defined in RFC 2616
    static void
    formatValue(StringBuffer buffer, String value, boolean alwaysUseQuotes)
    Formats the given parameter value using formatting rules defined in RFC 2616
    boolean
    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 Details

    • ParameterFormatter

      public ParameterFormatter()
      Default ParameterFormatter constructor
  • Method Details

    • 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(StringBuffer buffer, 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(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 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