Package org.jboss.resteasy.util

## Class ParameterParser

- java.lang.Object
- - org.jboss.resteasy.util.ParameterParser

-     public class ParameterParser
      extends Object

  A simple parser intended to parse sequences of name/value pairs. Parameter values are exptected to be enclosed in quotes if they contain unsafe characters, such as '=' characters or separators. Parameter values are optional and can be omitted.

  `param1 = value; param2 = "anything goes; really"; param3`

  Author:
    Oleg Kalnichevski

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ParameterParser()` | Default ParameterParser constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `isLowerCaseNames()` | Returns `true` if parameter names are to be converted to lower case when name/value pairs are parsed.
    `Map<String,​String>` | `parse​(char[] chars, char separator)` | Extracts a map of name/value pairs from the given array of characters.
    `Map<String,​String>` | `parse​(char[] chars, int offset, int length, char separator)` | Extracts a map of name/value pairs from the given array of characters.
    `Map<String,​String>` | `parse​(String str, char separator)` | Extracts a map of name/value pairs from the given string.
    `String` | `setAttribute​(char[] chars, int offset, int length, char separator, String name, String value)` | Takes string as-is and only changes the value of a specific attribute.
    `void` | `setLowerCaseNames​(boolean b)` | Sets the flag if parameter names are to be converted to lower case when name/value pairs are parsed.

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

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

- - ### Constructor Detail

    - #### ParameterParser

          public ParameterParser()

      Default ParameterParser constructor.

  - ### Method Detail

    - #### isLowerCaseNames

          public boolean isLowerCaseNames()

      Returns `true` if parameter names are to be converted to lower case when name/value pairs are parsed.
      Returns:
        `true` if parameter names are to be converted to lower case when name/value pairs are parsed. Otherwise returns `false`

    - #### setLowerCaseNames

          public void setLowerCaseNames​(boolean b)

      Sets the flag if parameter names are to be converted to lower case when name/value pairs are parsed.
      Parameters:
        `b` - `true` if parameter names are to be converted to lower case when name/value pairs are parsed. `false` otherwise.

    - #### parse

          public Map<String,​String> parse​(String str,
                                                char separator)

      Extracts a map of name/value pairs from the given string. Names are expected to be unique.
      Parameters:
        `str` - the string that contains a sequence of name/value pairs
        `separator` - the name/value pairs separator
      Returns:
        a map of name/value pairs

    - #### parse

          public Map<String,​String> parse​(char[] chars,
                                                char separator)

      Extracts a map of name/value pairs from the given array of characters. Names are expected to be unique.
      Parameters:
        `chars` - the array of characters that contains a sequence of name/value pairs
        `separator` - the name/value pairs separator
      Returns:
        a map of name/value pairs

    - #### parse

          public Map<String,​String> parse​(char[] chars,
                                                int offset,
                                                int length,
                                                char separator)

      Extracts a map of name/value pairs from the given array of characters. Names are expected to be unique.
      Parameters:
        `chars` - the array of characters that contains a sequence of name/value pairs
        `offset` - - the initial offset.
        `length` - - the length.
        `separator` - the name/value pairs separator
      Returns:
        a map of name/value pairs

    - #### setAttribute

          public String setAttribute​(char[] chars,
                                     int offset,
                                     int length,
                                     char separator,
                                     String name,
                                     String value)

      Takes string as-is and only changes the value of a specific attribute.
      Parameters:
        `chars` - the array of characters that contains a sequence of name/value pairs
        `offset` - - the initial offset.
        `length` - - the length.
        `separator` - the name/value pairs separator
        `name` - attribute name
        `value` - new value
      Returns:
        updated parameters string