Class 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 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