Class QuotedStringTokenizer

java.lang.Object
java.util.StringTokenizer
org.eclipse.jetty.util.QuotedStringTokenizer
All Implemented Interfaces:
Enumeration<Object>

public class QuotedStringTokenizer extends StringTokenizer
StringTokenizer with Quoting support. This class is a copy of the java.util.StringTokenizer API and the behaviour is the same, except that single and double quoted string values are recognised. Delimiters within quotes are not considered delimiters. Quotes can be escaped with '\'.
See Also:
  • Constructor Details

    • QuotedStringTokenizer

      public QuotedStringTokenizer(String str, String delim, boolean returnDelimiters, boolean returnQuotes)
    • QuotedStringTokenizer

      public QuotedStringTokenizer(String str, String delim, boolean returnDelimiters)
    • QuotedStringTokenizer

      public QuotedStringTokenizer(String str, String delim)
    • QuotedStringTokenizer

      public QuotedStringTokenizer(String str)
  • Method Details

    • hasMoreTokens

      public boolean hasMoreTokens()
      Overrides:
      hasMoreTokens in class StringTokenizer
    • nextToken

      public String nextToken() throws NoSuchElementException
      Overrides:
      nextToken in class StringTokenizer
      Throws:
      NoSuchElementException
    • nextToken

      public String nextToken(String delim) throws NoSuchElementException
      Overrides:
      nextToken in class StringTokenizer
      Throws:
      NoSuchElementException
    • countTokens

      public int countTokens()
      Not implemented.
      Overrides:
      countTokens in class StringTokenizer
    • quoteIfNeeded

      public static String quoteIfNeeded(String s, String delim)
      Quote a string. The string is quoted only if quoting is required due to embedded delimiters, quote characters or the empty string.
      Parameters:
      s - The string to quote.
      delim - the delimiter to use to quote the string
      Returns:
      quoted string
    • quoteIfNeeded

      public static void quoteIfNeeded(StringBuilder buf, String str, String delim)
      Append into buf the provided string, adding quotes if needed.

      Quoting is determined if any of the characters in the delim are found in the input str.

      Parameters:
      buf - the buffer to append to
      str - the string to possibly quote
      delim - the delimiter characters that will trigger automatic quoting
    • quote

      public static String quote(String s)
      Quote a string. The string is quoted only if quoting is required due to embedded delimiters, quote characters or the empty string.
      Parameters:
      s - The string to quote.
      Returns:
      quoted string
    • quote

      public static void quote(Appendable buffer, String input)
      Quote a string into an Appendable. The characters ", \, \n, \r, \t, \f and \b are escaped
      Parameters:
      buffer - The Appendable
      input - The String to quote.
    • quoteOnly

      public static void quoteOnly(Appendable buffer, String input)
      Quote a string into an Appendable. Only quotes and backslash are escaped.
      Parameters:
      buffer - The Appendable
      input - The String to quote.
    • unquoteOnly

      public static String unquoteOnly(String s)
    • unquoteOnly

      public static String unquoteOnly(String s, boolean lenient)
      Unquote a string, NOT converting unicode sequences
      Parameters:
      s - The string to unquote.
      lenient - if true, will leave in backslashes that aren't valid escapes
      Returns:
      quoted string
    • unquote

      public static String unquote(String s)
    • unquote

      public static String unquote(String s, boolean lenient)
      Unquote a string.
      Parameters:
      s - The string to unquote.
      lenient - true if unquoting should be lenient to escaped content, leaving some alone, false if string unescaping
      Returns:
      quoted string
    • isQuoted

      public static boolean isQuoted(String s)
    • getDouble

      public boolean getDouble()
      Returns:
      handle double quotes if true
    • setDouble

      public void setDouble(boolean d)
      Parameters:
      d - handle double quotes if true
    • getSingle

      public boolean getSingle()
      Returns:
      handle single quotes if true
    • setSingle

      public void setSingle(boolean single)
      Parameters:
      single - handle single quotes if true