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
    Default ParameterParser constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns true if parameter names are to be converted to lower case when name/value pairs are parsed.
    parse(char[] chars, char separator)
    Extracts a map of name/value pairs from the given array of characters.
    parse(char[] chars, int offset, int length, char separator)
    Extracts a map of name/value pairs from the given array of characters.
    parse(String str, char separator)
    Extracts a map of name/value pairs from the given 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 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 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