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>".
An Escaper instance is required to be stateless, and safe when used concurrently by
multiple threads.
Because, in general, escaping operates on the code points of a string and not on its
individual char values, it is not safe to assume that escape(s) is equivalent to
escape(s.substring(0, n)) + escape(s.substring(n)) for arbitrary n. This is
because of the possibility of splitting a surrogate pair. The only case in which it is safe to
escape strings and concatenate the results is if you can rule out this possibility, either by
splitting an existing long string into short strings adaptively around surrogate pairs, or by starting
with short strings already known to be free of unpaired surrogates.
The two primary implementations of this interface are CharEscaper and UnicodeEscaper. They are heavily optimized for performance and greatly simplify the task of
implementing new escapers. It is strongly recommended that when implementing a new escaper you
extend one of these classes. If you find that you are unable to achieve the desired behavior
using either of these classes, please contact the Java libraries team for advice.
Popular escapers are defined as constants in classes like com. and com.. To create
your own escapers, use CharEscaperBuilder, or extend CharEscaper or UnicodeEscaper.
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| public final Function | |
| public abstract String |
| asFunction | back to summary |
|---|---|
| private final Function<String, String> asFunction | |
| Escaper | back to summary |
|---|---|
| protected Escaper() Constructor for use by subclasses. | |
| asFunction | back to summary |
|---|---|
| public final Function Returns a | |
| escape | back to summary |
|---|---|
| public abstract String escape(String string) Returns the escaped form of a given literal string. Note that this method may treat input characters differently depending on the specific escaper implementation.
| |