org.mortbay.util
Class QuotedStringTokenizer

java.lang.Object
  extended by java.util.StringTokenizer
      extended by org.mortbay.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 doulbe quoted string values are recognized. Delimiters within quotes are not considered delimiters. Quotes can be escaped with '\'.

Author:
Greg Wilkins (gregw)
See Also:
StringTokenizer

Field Summary
private static String __delim
           
private  String _delim
           
private  boolean _hasToken
           
private  int _i
           
private  int _lastStart
           
private  boolean _returnDelimiters
           
private  boolean _returnQuotes
           
private  String _string
           
private  StringBuffer _token
           
 
Constructor Summary
QuotedStringTokenizer(String str)
           
QuotedStringTokenizer(String str, String delim)
           
QuotedStringTokenizer(String str, String delim, boolean returnDelimiters)
           
QuotedStringTokenizer(String str, String delim, boolean returnDelimiters, boolean returnQuotes)
           
 
Method Summary
 int countTokens()
          Not implemented.
 boolean hasMoreElements()
           
 boolean hasMoreTokens()
           
 Object nextElement()
           
 String nextToken()
           
 String nextToken(String delim)
           
static void quote(StringBuffer buf, String s)
          Quote a string into a StringBuffer.
static String quote(String s, String delim)
          Quote a string.
static String unquote(String s)
          Unquote a string.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

__delim

private static final String __delim
See Also:
Constant Field Values

_string

private String _string

_delim

private String _delim

_returnQuotes

private boolean _returnQuotes

_returnDelimiters

private boolean _returnDelimiters

_token

private StringBuffer _token

_hasToken

private boolean _hasToken

_i

private int _i

_lastStart

private int _lastStart
Constructor Detail

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 Detail

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 embeded 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.

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