Package org.eclipse.jetty.util
Class QuotedStringTokenizer
java.lang.Object
java.util.StringTokenizer
org.eclipse.jetty.util.QuotedStringTokenizer
- All Implemented Interfaces:
Enumeration<Object>
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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private String
private boolean
private boolean
private int
private int
private boolean
private boolean
private boolean
private String
private StringBuffer
private static final char[]
-
Constructor Summary
ConstructorsConstructorDescriptionQuotedStringTokenizer
(String str, String delim) QuotedStringTokenizer
(String str, String delim, boolean returnDelimiters) QuotedStringTokenizer
(String str, String delim, boolean returnDelimiters, boolean returnQuotes) -
Method Summary
Modifier and TypeMethodDescriptionint
Not implemented.boolean
boolean
boolean
boolean
static boolean
private static boolean
isValidEscaping
(char c) Check that char c (which is preceded by a backslash) is a valid escape sequence.static void
quote
(Appendable buffer, String input) Quote a string into an Appendable.static String
Quote a string.static String
quoteIfNeeded
(String s, String delim) Quote a string.static void
quoteOnly
(Appendable buffer, String input) Quote a string into an Appendable.void
setDouble
(boolean d) void
setSingle
(boolean single) static String
static String
Unquote a string.static String
static String
unquoteOnly
(String s, boolean lenient) Unquote a string, NOT converting unicode sequencesMethods 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
-
Field Details
-
__delim
- See Also:
-
_string
-
_delim
-
_returnQuotes
private boolean _returnQuotes -
_returnDelimiters
private boolean _returnDelimiters -
_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 Details
-
QuotedStringTokenizer
-
QuotedStringTokenizer
-
QuotedStringTokenizer
-
QuotedStringTokenizer
-
-
Method Details
-
hasMoreTokens
public boolean hasMoreTokens()- Overrides:
hasMoreTokens
in classStringTokenizer
-
nextToken
- Overrides:
nextToken
in classStringTokenizer
- Throws:
NoSuchElementException
-
nextToken
- Overrides:
nextToken
in classStringTokenizer
- Throws:
NoSuchElementException
-
hasMoreElements
public boolean hasMoreElements()- Specified by:
hasMoreElements
in interfaceEnumeration<Object>
- Overrides:
hasMoreElements
in classStringTokenizer
-
nextElement
- Specified by:
nextElement
in interfaceEnumeration<Object>
- Overrides:
nextElement
in classStringTokenizer
- Throws:
NoSuchElementException
-
countTokens
public int countTokens()Not implemented.- Overrides:
countTokens
in classStringTokenizer
-
quoteIfNeeded
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
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
Quote a string into an Appendable. Only quotes and backslash are escaped.- Parameters:
buffer
- The Appendableinput
- The String to quote.
-
quote
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
-
unquoteOnly
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
-
unquote
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
-
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
-