public final class JsonStringEncoder
extends java.lang.Object
Note that methods in here are somewhat optimized, but not ridiculously so. Reason is that conversion method results are expected to be cached so that these methods will not be hot spots during normal operation.
Modifier and Type | Field and Description |
---|---|
private static byte[] |
HB |
private static char[] |
HC |
private static int |
INITIAL_BYTE_BUFFER_SIZE |
private static int |
INITIAL_CHAR_BUFFER_SIZE |
private static JsonStringEncoder |
instance |
private static int |
SURR1_FIRST |
private static int |
SURR1_LAST |
private static int |
SURR2_FIRST |
private static int |
SURR2_LAST |
Constructor and Description |
---|
JsonStringEncoder() |
Modifier and Type | Method and Description |
---|---|
private int |
_appendByte(int ch,
int esc,
ByteArrayBuilder bb,
int ptr) |
private int |
_appendNamed(int esc,
char[] qbuf) |
private int |
_appendNumeric(int value,
char[] qbuf) |
private static int |
_convert(int p1,
int p2) |
private static void |
_illegal(int c) |
private char[] |
_qbuf() |
byte[] |
encodeAsUTF8(java.lang.String text)
Will encode given String as UTF-8 (without any quoting), return
resulting byte array.
|
static JsonStringEncoder |
getInstance()
Factory method for getting an instance; this is either recycled per-thread instance,
or a newly constructed one.
|
char[] |
quoteAsString(java.lang.CharSequence input)
Overloaded variant of
quoteAsString(String) . |
void |
quoteAsString(java.lang.CharSequence input,
java.lang.StringBuilder output)
Method that will quote text contents using JSON standard quoting,
and append results to a supplied
StringBuilder . |
char[] |
quoteAsString(java.lang.String input)
Method that will quote text contents using JSON standard quoting,
and return results as a character array
|
byte[] |
quoteAsUTF8(java.lang.String text)
Will quote given JSON String value using standard quoting, encode
results as UTF-8, and return result as a byte array.
|
private static final char[] HC
private static final byte[] HB
private static final int SURR1_FIRST
private static final int SURR1_LAST
private static final int SURR2_FIRST
private static final int SURR2_LAST
private static final int INITIAL_CHAR_BUFFER_SIZE
private static final int INITIAL_BYTE_BUFFER_SIZE
private static final JsonStringEncoder instance
public static JsonStringEncoder getInstance()
public char[] quoteAsString(java.lang.String input)
public char[] quoteAsString(java.lang.CharSequence input)
quoteAsString(String)
.public void quoteAsString(java.lang.CharSequence input, java.lang.StringBuilder output)
StringBuilder
.
Use this variant if you have e.g. a StringBuilder
and want to avoid superfluous copying of it.public byte[] quoteAsUTF8(java.lang.String text)
public byte[] encodeAsUTF8(java.lang.String text)
private char[] _qbuf()
private int _appendNumeric(int value, char[] qbuf)
private int _appendNamed(int esc, char[] qbuf)
private int _appendByte(int ch, int esc, ByteArrayBuilder bb, int ptr)
private static int _convert(int p1, int p2)
private static void _illegal(int c)