| java.lang.Object | |
| ↳ | com.google.gdata.util.common.base.CharEscaper |
An object that converts literal text into a format safe for inclusion in a particular context (such as an XML document). Typically (but not always), the inverse process of "unescaping" the text is performed automatically by the relevant parser.
For example, an XML escaper would convert the literal string "Foo<Bar>" into "Foo<Bar>" to prevent "<Bar>" from
being confused with an XML tag. When the resulting XML document is parsed,
the parser API will return this text as the original literal string "Foo<Bar>".
A CharEscaper instance is required to be stateless, and safe when
used concurrently by multiple threads.
Several popular escapers are defined as constants in the class CharEscapers. To create your own escapers, use CharEscaperBuilder, or extend this class and implement the escape(char) method.
| Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| int | DEST_PAD | The amount of padding to use when growing the escape buffer. | |||||||||
| Fields | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| DEST_TL | A thread-local destination buffer to keep us from creating new buffers. | ||||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Returns the escaped form of a given literal string.
| |||||||||||
Returns an
Appendable instance which automatically escapes all
text appended to it before passing the resulting text to an underlying
Appendable. | |||||||||||
| Protected Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Returns the escaped form of the given character, or
null if this
character does not need to be escaped. | |||||||||||
Returns the escaped form of a given literal string, starting at the given
index.
| |||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
From interface
com.google.gdata.util.common.base.Escaper
| |||||||||||
The amount of padding to use when growing the escape buffer.
A thread-local destination buffer to keep us from creating new buffers. The starting size is 1024 characters. If we grow past this we don't put it back in the threadlocal, we just keep going and grow as needed.
Returns the escaped form of a given literal string.
| string | The literal string to be escaped |
|---|
string| NullPointerException | if string is null
|
|---|
Returns an Appendable instance which automatically escapes all
text appended to it before passing the resulting text to an underlying
Appendable.
The methods of the returned object will propagate any exceptions thrown
by the underlying Appendable, and will throw NullPointerException if asked to append null, but do not otherwise
throw any exceptions.
The escaping behavior is identical to that of escape(String),
so the following code is always equivalent to escaper.escape(string):
StringBuilder sb = new StringBuilder();
escaper.escape(sb).append(string);
return sb.toString();| out | The underlying Appendable to append escaped output to |
|---|
Appendable which passes text to out after
escaping it| NullPointerException | if out is null.
|
|---|
Returns the escaped form of the given character, or null if this
character does not need to be escaped. If an empty array is returned, this
effectively strips the input character from the resulting text.
If the character does not need to be escaped, this method should return
null, rather than a one-character array containing the character
itself. This enables the escaping algorithm to perform more efficiently.
An escaper is expected to be able to deal with any char value,
so this method should not throw any exceptions.
| c | The character to escape if necessary |
|---|
null if no escaping was
needed
Returns the escaped form of a given literal string, starting at the given
index. This method is called by the escape(String) method when it
discovers that escaping is required. It is protected to allow subclasses
to override the fastpath escaping function to inline their escaping test.
See CharEscaperBuilder for an example usage.
| s | The literal string to be escaped |
|---|---|
| index | The index to start escaping from |
string| NullPointerException | if string is null
|
|---|