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();