public abstract class CharEscaper extends java.lang.Object implements Escaper
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.
| Constructor and Description |
|---|
CharEscaper() |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Appendable |
escape(java.lang.Appendable out)
Returns an
Appendable instance which automatically escapes all
text appended to it before passing the resulting text to an underlying
Appendable. |
java.lang.String |
escape(java.lang.String string)
Returns the escaped form of a given literal string.
|
public java.lang.String escape(java.lang.String string)
public java.lang.Appendable escape(java.lang.Appendable out)
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();