Class QuotedStringTokenizer

  • All Implemented Interfaces:
    java.util.Enumeration<java.lang.Object>

    public class QuotedStringTokenizer
    extends java.util.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:
    StringTokenizer
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int countTokens()
      Not implemented.
      boolean getDouble()  
      boolean getSingle()  
      boolean hasMoreElements()  
      boolean hasMoreTokens()  
      static boolean isQuoted​(java.lang.String s)  
      java.lang.Object nextElement()  
      java.lang.String nextToken()  
      java.lang.String nextToken​(java.lang.String delim)  
      static void quote​(java.lang.Appendable buffer, java.lang.String input)
      Quote a string into an Appendable.
      static java.lang.String quote​(java.lang.String s)
      Quote a string.
      static void quoteIfNeeded​(java.lang.StringBuilder buf, java.lang.String str, java.lang.String delim)
      Append into buf the provided string, adding quotes if needed.
      static java.lang.String quoteIfNeeded​(java.lang.String s, java.lang.String delim)
      Quote a string.
      static void quoteOnly​(java.lang.Appendable buffer, java.lang.String input)
      Quote a string into an Appendable.
      void setDouble​(boolean d)  
      void setSingle​(boolean single)  
      static java.lang.String unquote​(java.lang.String s)  
      static java.lang.String unquote​(java.lang.String s, boolean lenient)
      Unquote a string.
      static java.lang.String unquoteOnly​(java.lang.String s)  
      static java.lang.String unquoteOnly​(java.lang.String s, boolean lenient)
      Unquote a string, NOT converting unicode sequences
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Enumeration

        asIterator
    • Constructor Detail

      • QuotedStringTokenizer

        public QuotedStringTokenizer​(java.lang.String str,
                                     java.lang.String delim,
                                     boolean returnDelimiters,
                                     boolean returnQuotes)
      • QuotedStringTokenizer

        public QuotedStringTokenizer​(java.lang.String str,
                                     java.lang.String delim,
                                     boolean returnDelimiters)
      • QuotedStringTokenizer

        public QuotedStringTokenizer​(java.lang.String str,
                                     java.lang.String delim)
      • QuotedStringTokenizer

        public QuotedStringTokenizer​(java.lang.String str)
    • Method Detail

      • hasMoreTokens

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

        public java.lang.String nextToken()
                                   throws java.util.NoSuchElementException
        Overrides:
        nextToken in class java.util.StringTokenizer
        Throws:
        java.util.NoSuchElementException
      • nextToken

        public java.lang.String nextToken​(java.lang.String delim)
                                   throws java.util.NoSuchElementException
        Overrides:
        nextToken in class java.util.StringTokenizer
        Throws:
        java.util.NoSuchElementException
      • hasMoreElements

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

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

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

        public static java.lang.String quoteIfNeeded​(java.lang.String s,
                                                     java.lang.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​(java.lang.StringBuilder buf,
                                         java.lang.String str,
                                         java.lang.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 java.lang.String quote​(java.lang.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​(java.lang.Appendable buffer,
                                 java.lang.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​(java.lang.Appendable buffer,
                                     java.lang.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 java.lang.String unquoteOnly​(java.lang.String s)
      • unquoteOnly

        public static java.lang.String unquoteOnly​(java.lang.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 java.lang.String unquote​(java.lang.String s)
      • unquote

        public static java.lang.String unquote​(java.lang.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​(java.lang.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