# Class ParameterParser

java.lang.Object
org.apache.tomcat.util.http.fileupload.ParameterParser

public class ParameterParser extends Object
A simple parser intended to parse sequences of name/value pairs. Parameter values are expected 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`

## Constructor Summary

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

## Method Summary

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[] charArray, char separator)`
Extracts a map of name/value pairs from the given array of characters.
`Map<String,String>`
`parse(char[] charArray, 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.
`Map<String,String>`
`parse(String str, char[] separators)`
Extracts a map of name/value pairs from the given string.
`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 Details

### ParameterParser

public ParameterParser()
Default ParameterParser constructor.

## Method Details

### 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[] separators)
Extracts a map of name/value pairs from the given string. Names are expected to be unique. Multiple separators may be specified and the earliest found in the input string is used.

Parameters:
  `str` - the string that contains a sequence of name/value pairs
  `separators` - the name/value pairs separators
Returns:
  a map of name/value pairs

### 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[] charArray, char separator)
Extracts a map of name/value pairs from the given array of characters. Names are expected to be unique.

Parameters:
  `charArray` - 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[] charArray, 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:
  `charArray` - 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