Package org.eclipse.jetty.util
Class QuotedStringTokenizer
- java.lang.Object
-
- java.util.StringTokenizer
-
- org.eclipse.jetty.util.QuotedStringTokenizer
-
- All Implemented Interfaces:
java.util.Enumeration<java.lang.Object>
public class QuotedStringTokenizer extends java.util.StringTokenizerStringTokenizer 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
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String__delimprivate java.lang.String_delimprivate boolean_doubleprivate boolean_hasTokenprivate int_iprivate int_lastStartprivate boolean_returnDelimitersprivate boolean_returnQuotesprivate boolean_singleprivate java.lang.String_stringprivate java.lang.StringBuffer_tokenprivate static char[]escapes
-
Constructor Summary
Constructors Constructor Description QuotedStringTokenizer(java.lang.String str)QuotedStringTokenizer(java.lang.String str, java.lang.String delim)QuotedStringTokenizer(java.lang.String str, java.lang.String delim, boolean returnDelimiters)QuotedStringTokenizer(java.lang.String str, java.lang.String delim, boolean returnDelimiters, boolean returnQuotes)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcountTokens()Not implemented.booleangetDouble()booleangetSingle()booleanhasMoreElements()booleanhasMoreTokens()static booleanisQuoted(java.lang.String s)private static booleanisValidEscaping(char c)Check that char c (which is preceded by a backslash) is a valid escape sequence.java.lang.ObjectnextElement()java.lang.StringnextToken()java.lang.StringnextToken(java.lang.String delim)static voidquote(java.lang.Appendable buffer, java.lang.String input)Quote a string into an Appendable.static java.lang.Stringquote(java.lang.String s)Quote a string.static java.lang.StringquoteIfNeeded(java.lang.String s, java.lang.String delim)Quote a string.static voidquoteOnly(java.lang.Appendable buffer, java.lang.String input)Quote a string into an Appendable.voidsetDouble(boolean d)voidsetSingle(boolean single)static java.lang.Stringunquote(java.lang.String s)static java.lang.Stringunquote(java.lang.String s, boolean lenient)Unquote a string.static java.lang.StringunquoteOnly(java.lang.String s)static java.lang.StringunquoteOnly(java.lang.String s, boolean lenient)Unquote a string, NOT converting unicode sequences
-
-
-
Field Detail
-
__delim
private static final java.lang.String __delim
- See Also:
- Constant Field Values
-
_string
private java.lang.String _string
-
_delim
private java.lang.String _delim
-
_returnQuotes
private boolean _returnQuotes
-
_returnDelimiters
private boolean _returnDelimiters
-
_token
private java.lang.StringBuffer _token
-
_hasToken
private boolean _hasToken
-
_i
private int _i
-
_lastStart
private int _lastStart
-
_double
private boolean _double
-
_single
private boolean _single
-
escapes
private static final char[] escapes
-
-
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:
hasMoreTokensin classjava.util.StringTokenizer
-
nextToken
public java.lang.String nextToken() throws java.util.NoSuchElementException- Overrides:
nextTokenin classjava.util.StringTokenizer- Throws:
java.util.NoSuchElementException
-
nextToken
public java.lang.String nextToken(java.lang.String delim) throws java.util.NoSuchElementException- Overrides:
nextTokenin classjava.util.StringTokenizer- Throws:
java.util.NoSuchElementException
-
hasMoreElements
public boolean hasMoreElements()
- Specified by:
hasMoreElementsin interfacejava.util.Enumeration<java.lang.Object>- Overrides:
hasMoreElementsin classjava.util.StringTokenizer
-
nextElement
public java.lang.Object nextElement() throws java.util.NoSuchElementException- Specified by:
nextElementin interfacejava.util.Enumeration<java.lang.Object>- Overrides:
nextElementin classjava.util.StringTokenizer- Throws:
java.util.NoSuchElementException
-
countTokens
public int countTokens()
Not implemented.- Overrides:
countTokensin classjava.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
-
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
-
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 Appendableinput- The String to quote.
-
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 Appendableinput- 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
-
isValidEscaping
private static boolean isValidEscaping(char c)
Check that char c (which is preceded by a backslash) is a valid escape sequence.
-
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
-
-