Package com.fasterxml.jackson.core.io
Class CharacterEscapes
java.lang.Object
com.fasterxml.jackson.core.io.CharacterEscapes
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
JsonpCharacterEscapes
Abstract base class that defines interface for customizing character
escaping aspects for String values, for formats that use escaping.
For JSON this applies to both property names and String values.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Value used for lookup tables to indicate that matching characters will need custom escapes; and that another call togetEscapeSequence(int)
is needed to figure out exact escape sequence to output.static final int
Value used for lookup tables to indicate that matching characters do not need to be escaped.static final int
Value used for lookup tables to indicate that matching characters are to be escaped using standard escaping; for JSON this means (for example) using "backslash - u" escape method. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract int[]
Method generators can call to get lookup table for determining escape handling for first 128 characters of Unicode (ASCII characters.abstract SerializableString
getEscapeSequence
(int ch) Method generators can call to get lookup table for determining exact escape sequence to use for given character.static int[]
Helper method that can be used to get a copy of standard JSON escape definitions; this is useful when just wanting to slightly customize definitions.
-
Field Details
-
ESCAPE_NONE
public static final int ESCAPE_NONEValue used for lookup tables to indicate that matching characters do not need to be escaped.- See Also:
-
ESCAPE_STANDARD
public static final int ESCAPE_STANDARDValue used for lookup tables to indicate that matching characters are to be escaped using standard escaping; for JSON this means (for example) using "backslash - u" escape method.- See Also:
-
ESCAPE_CUSTOM
public static final int ESCAPE_CUSTOMValue used for lookup tables to indicate that matching characters will need custom escapes; and that another call togetEscapeSequence(int)
is needed to figure out exact escape sequence to output.- See Also:
-
-
Constructor Details
-
CharacterEscapes
public CharacterEscapes()
-
-
Method Details
-
getEscapeCodesForAscii
public abstract int[] getEscapeCodesForAscii()Method generators can call to get lookup table for determining escape handling for first 128 characters of Unicode (ASCII characters. Caller is not to modify contents of this array, since this is expected to be a shared copy.- Returns:
- Array with size of at least 128, where first 128 entries
have either one of
ESCAPE_xxx
constants, or non-zero positive integer (meaning of which is data format specific; for JSON it means that combination of backslash and character with that value is to be used) to indicate that specific escape sequence is to be used.
-
getEscapeSequence
Method generators can call to get lookup table for determining exact escape sequence to use for given character. It can be called for any character, but typically is called for either for ASCII characters for which custom escape sequence is needed; or for any non-ASCII character.- Parameters:
ch
- Character to look escape sequence for- Returns:
- Escape sequence to use for the character, if any;
null
if not
-
standardAsciiEscapesForJSON
public static int[] standardAsciiEscapesForJSON()Helper method that can be used to get a copy of standard JSON escape definitions; this is useful when just wanting to slightly customize definitions. Caller can modify this array as it sees fit and usually returns modified instance viagetEscapeCodesForAscii()
- Returns:
- Set of escapes, similar to
getEscapeCodesForAscii()
(array of 128int
s), but a copy that caller owns and is free to modify
-