public final class Escapers
extends java.lang.Object
Escaper
instances.Modifier and Type | Class and Description |
---|---|
static class |
Escapers.Builder
A builder for simple, fast escapers.
|
Modifier and Type | Field and Description |
---|---|
private static Escaper |
NULL_ESCAPER |
Modifier | Constructor and Description |
---|---|
private |
Escapers() |
Modifier and Type | Method and Description |
---|---|
(package private) static UnicodeEscaper |
asUnicodeEscaper(Escaper escaper)
Returns a
UnicodeEscaper equivalent to the given escaper instance. |
static Escapers.Builder |
builder()
Returns a builder for creating simple, fast escapers.
|
static java.lang.String |
computeReplacement(CharEscaper escaper,
char c)
Returns a string that would replace the given character in the specified escaper, or
null if no replacement should be made. |
static java.lang.String |
computeReplacement(UnicodeEscaper escaper,
int cp)
Returns a string that would replace the given character in the specified escaper, or
null if no replacement should be made. |
static Escaper |
nullEscaper()
Returns an
Escaper that does no escaping, passing all character data through unchanged. |
private static java.lang.String |
stringOrNull(char[] in) |
private static UnicodeEscaper |
wrap(CharEscaper escaper)
Private helper to wrap a CharEscaper as a UnicodeEscaper.
|
private static final Escaper NULL_ESCAPER
public static Escaper nullEscaper()
Escaper
that does no escaping, passing all character data through unchanged.public static Escapers.Builder builder()
The initial state of the builder is such that:
safeMin == Character.MIN_VALUE
safeMax == Character.MAX_VALUE
unsafeReplacement == null
For performance reasons escapers created by this builder are not Unicode aware and will not validate the well-formedness of their input.
static UnicodeEscaper asUnicodeEscaper(Escaper escaper)
UnicodeEscaper
equivalent to the given escaper instance. If the escaper is
already a UnicodeEscaper then it is simply returned, otherwise it is wrapped in a
UnicodeEscaper.
When a CharEscaper
escaper is wrapped by this method it acquires extra behavior with
respect to the well-formedness of Unicode character sequences and will throw IllegalArgumentException
when given bad input.
escaper
- the instance to be wrappedjava.lang.NullPointerException
- if escaper is nulljava.lang.IllegalArgumentException
- if escaper is not a UnicodeEscaper or a CharEscaper@CheckForNull public static java.lang.String computeReplacement(CharEscaper escaper, char c)
null
if no replacement should be made. This method is intended for use in tests through the
EscaperAsserts
class; production users of CharEscaper
should limit themselves
to its public interface.c
- the character to escape if necessarynull
if no escaping was needed@CheckForNull public static java.lang.String computeReplacement(UnicodeEscaper escaper, int cp)
null
if no replacement should be made. This method is intended for use in tests through the
EscaperAsserts
class; production users of UnicodeEscaper
should limit
themselves to its public interface.cp
- the Unicode code point to escape if necessarynull
if no escaping was needed@CheckForNull private static java.lang.String stringOrNull(@CheckForNull char[] in)
private static UnicodeEscaper wrap(CharEscaper escaper)