Package hudson.util

Class QuotedStringTokenizer

java.lang.Object
java.util.StringTokenizer
hudson.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 recognized. Delimiters within quotes are not considered delimiters. Quotes can be escaped with '\'.
Author:
Greg Wilkins (gregw)
See Also:
  • Constructor Details

    • QuotedStringTokenizer

      public QuotedStringTokenizer(String str, String delim, boolean returnDelimiters, boolean returnQuotes)
      Parameters:
      str - String to tokenize.
      delim - List of delimiter characters as string. Can be null, to default to ' \t\n\r'
      returnDelimiters - If true, nextToken() will include the delimiters, not just tokenized tokens.
      returnQuotes - If true, nextToken() will include the quotation characters when they are present.
    • QuotedStringTokenizer

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

      public QuotedStringTokenizer(String str, String delim)
    • QuotedStringTokenizer

      public QuotedStringTokenizer(String str)
  • Method Details

    • tokenize

      public static String[] tokenize(String str)
    • tokenize

      public static String[] tokenize(String str, String delimiters)
    • toArray

      public String[] toArray()
    • 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
    • hasMoreElements

      public boolean hasMoreElements()
      Specified by:
      hasMoreElements in interface Enumeration<Object>
      Overrides:
      hasMoreElements in class StringTokenizer
    • nextElement

      public Object nextElement() throws NoSuchElementException
      Specified by:
      nextElement in interface Enumeration<Object>
      Overrides:
      nextElement in class StringTokenizer
      Throws:
      NoSuchElementException
    • countTokens

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

      public static String quote(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.
      Returns:
      quoted string
    • 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(StringBuffer buf, String s)
      Quote a string into a StringBuffer. The characters ", \, \n, \r, \t, \f and \b are escaped
      Parameters:
      buf - The StringBuffer
      s - The String to quote.
    • unquote

      public static String unquote(String s)
      Unquote a string.
      Parameters:
      s - The string to unquote.
      Returns:
      quoted string
    • 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
    • convertHexDigit

      public static byte convertHexDigit(byte b)
      Parameters:
      b - An ASCII encoded character 0-9 a-f A-F
      Returns:
      The byte value of the character 0-16.