Class BasicHeaderValueFormatter

  • All Implemented Interfaces:
    HeaderValueFormatter

    @Contract(threading=IMMUTABLE)
    public class BasicHeaderValueFormatter
    extends java.lang.Object
    implements HeaderValueFormatter
    Basic implementation for formatting header value elements. Instances of this class are stateless and thread-safe. Derived classes are expected to maintain these properties.
    Since:
    4.0
    • Field Detail

      • DEFAULT

        @Deprecated
        public static final BasicHeaderValueFormatter DEFAULT
        Deprecated.
        (4.3) use INSTANCE
        A default instance of this class, for use as default or fallback. Note that BasicHeaderValueFormatter is not a singleton, there can be many instances of the class itself and of derived classes. The instance here provides non-customized, default behavior.
      • SEPARATORS

        public static final java.lang.String SEPARATORS
        Special characters that can be used as separators in HTTP parameters. These special characters MUST be in a quoted string to be used within a parameter value .
        See Also:
        Constant Field Values
      • UNSAFE_CHARS

        public static final java.lang.String UNSAFE_CHARS
        Unsafe special characters that must be escaped using the backslash character
        See Also:
        Constant Field Values
    • Constructor Detail

      • BasicHeaderValueFormatter

        public BasicHeaderValueFormatter()
    • Method Detail

      • formatElements

        public static java.lang.String formatElements​(HeaderElement[] elems,
                                                      boolean quote,
                                                      HeaderValueFormatter formatter)
        Formats an array of header elements.
        Parameters:
        elems - the header elements to format
        quote - true to always format with quoted values, false to use quotes only when necessary
        formatter - the formatter to use, or null for the default
        Returns:
        the formatted header elements
      • formatElements

        public CharArrayBuffer formatElements​(CharArrayBuffer charBuffer,
                                              HeaderElement[] elems,
                                              boolean quote)
        Description copied from interface: HeaderValueFormatter
        Formats an array of header elements.
        Specified by:
        formatElements in interface HeaderValueFormatter
        Parameters:
        charBuffer - 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

        public static java.lang.String formatHeaderElement​(HeaderElement elem,
                                                           boolean quote,
                                                           HeaderValueFormatter formatter)
        Formats a header element.
        Parameters:
        elem - the header element to format
        quote - true to always format with quoted values, false to use quotes only when necessary
        formatter - the formatter to use, or null for the default
        Returns:
        the formatted header element
      • formatHeaderElement

        public CharArrayBuffer formatHeaderElement​(CharArrayBuffer charBuffer,
                                                   HeaderElement elem,
                                                   boolean quote)
        Description copied from interface: HeaderValueFormatter
        Formats one header element.
        Specified by:
        formatHeaderElement in interface HeaderValueFormatter
        Parameters:
        charBuffer - 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

        public static java.lang.String formatParameters​(NameValuePair[] nvps,
                                                        boolean quote,
                                                        HeaderValueFormatter formatter)
        Formats a set of parameters.
        Parameters:
        nvps - the parameters to format
        quote - true to always format with quoted values, false to use quotes only when necessary
        formatter - the formatter to use, or null for the default
        Returns:
        the formatted parameters
      • formatParameters

        public CharArrayBuffer formatParameters​(CharArrayBuffer charBuffer,
                                                NameValuePair[] nvps,
                                                boolean quote)
        Description copied from interface: HeaderValueFormatter
        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.
        Specified by:
        formatParameters in interface HeaderValueFormatter
        Parameters:
        charBuffer - 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

        public static java.lang.String formatNameValuePair​(NameValuePair nvp,
                                                           boolean quote,
                                                           HeaderValueFormatter formatter)
        Formats a name-value pair.
        Parameters:
        nvp - the name-value pair to format
        quote - true to always format with a quoted value, false to use quotes only when necessary
        formatter - the formatter to use, or null for the default
        Returns:
        the formatted name-value pair
      • formatNameValuePair

        public CharArrayBuffer formatNameValuePair​(CharArrayBuffer charBuffer,
                                                   NameValuePair nvp,
                                                   boolean quote)
        Description copied from interface: HeaderValueFormatter
        Formats one name-value pair, where the value is optional.
        Specified by:
        formatNameValuePair in interface HeaderValueFormatter
        Parameters:
        charBuffer - 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.