Class ParameterParser
- java.lang.Object
-
- org.jboss.resteasy.reactive.common.util.ParameterParser
-
- Direct Known Subclasses:
OrderedParameterParser
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 protected <K,V>
Map<K,V>emptyMap()booleanisLowerCaseNames()Returnstrueif parameter names are to be converted to lower case when name/value pairs are parsed.protected <K,V>
Map<K,V>newMap()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.StringsetAttribute(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.voidsetLowerCaseNames(boolean b)Sets the flag if parameter names are to be converted to lower case when name/value pairs are parsed.
-
-
-
Method Detail
-
isLowerCaseNames
public boolean isLowerCaseNames()
Returnstrueif parameter names are to be converted to lower case when name/value pairs are parsed.- Returns:
trueif parameter names are to be converted to lower case when name/value pairs are parsed. Otherwise returnsfalse
-
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-trueif parameter names are to be converted to lower case when name/value pairs are parsed.falseotherwise.
-
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 pairsseparator- 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 pairsseparator- 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 pairsoffset- - 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 pairsoffset- - the initial offset.length- - the length.separator- the name/value pairs separatorname- attribute namevalue- new value- Returns:
- updated parameters string
-
emptyMap
protected <K,V> Map<K,V> emptyMap()
-
newMap
protected <K,V> Map<K,V> newMap()
-
-