Interface Escaper
- All Known Implementing Classes:
PercentEscaper, UnicodeEscaper
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 scanner 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.
Several popular escapers are defined as constants in the class
invalid reference
CharEscapersinvalid reference
CharEscaperBuilderinvalid reference
CharEscaperUnicodeEscaper.
-
Method Summary
Modifier and TypeMethodDescriptionescape(Appendable out) Returns anAppendableinstance which automatically escapes all text appended to it before passing the resulting text to an underlyingAppendable.Returns the escaped form of a given literal string.
-
Method Details
-
escape
Returns the escaped form of a given literal string.Note that this method may treat input characters differently depending on the specific escaper implementation.
UnicodeEscaperhandles UTF-16 correctly, including surrogate character pairs. If the input is badly formed the escaper should throwIllegalArgumentException.-
handles Java characters independently and does not verify the input for well formed characters. A CharEscaper should not be used in situations where input is not guaranteed to be restricted to the Basic Multilingual Plane (BMP).
invalid reference
CharEscaper
- Parameters:
string- the literal string to be escaped- Returns:
- the escaped form of
string - Throws:
NullPointerException- ifstringis nullIllegalArgumentException- ifstringcontains badly formed UTF-16 or cannot be escaped for any other reason
-
escape
Returns anAppendableinstance which automatically escapes all text appended to it before passing the resulting text to an underlyingAppendable.Note that this method may treat input characters differently depending on the specific escaper implementation.
UnicodeEscaperhandles UTF-16 correctly, including surrogate character pairs. If the input is badly formed the escaper should throwIllegalArgumentException.-
handles Java characters independently and does not verify the input for well formed characters. A CharEscaper should not be used in situations where input is not guaranteed to be restricted to the Basic Multilingual Plane (BMP).
invalid reference
CharEscaper
- Parameters:
out- the underlyingAppendableto append escaped output to- Returns:
- an
Appendablewhich passes text tooutafter escaping it.
-