Package com.fasterxml.jackson.core
Interface SerializableString
- All Known Implementing Classes:
SerializedString
public interface SerializableString
Interface that defines how Jackson package can interact with efficient
pre-serialized or lazily-serialized and reused String representations.
Typically implementations store possible serialized version(s) so that
serialization of String can be done more efficiently, especially when
used multiple times.
Note that "quoted" in methods means quoting of 'special' characters using JSON backlash notation (and not use of actual double quotes).
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionint
appendQuoted
(char[] buffer, int offset) Method that will append quoted characters of this String into given buffer.int
appendQuotedUTF8
(byte[] buffer, int offset) Method that will append quoted UTF-8 bytes of this String into given buffer, if there is enough room; if not, returns -1.int
appendUnquoted
(char[] buffer, int offset) Method that will append unquoted characters of this String into given buffer.int
appendUnquotedUTF8
(byte[] buffer, int offset) Method that will append unquoted ('raw') UTF-8 bytes of this String into given buffer.char[]
Returns JSON quoted form of the String, as character array.byte[]
Returns UTF-8 encoded version of JSON-quoted String.byte[]
Returns UTF-8 encoded version of unquoted String.int
Returns length of the (unquoted) String as characters.getValue()
Returns unquoted String that this object represents (and offers serialized forms for)int
putQuotedUTF8
(ByteBuffer buffer) Method for appending JSON-escaped UTF-8 encoded String value into givenByteBuffer
, if it fits.int
putUnquotedUTF8
(ByteBuffer buffer) Method for appending unquoted ('raw') UTF-8 encoded String value into givenByteBuffer
, if it fits.int
Method for writing JSON-escaped UTF-8 encoded String value using givenOutputStream
.int
Method for writing unescaped UTF-8 encoded String value using givenOutputStream
.
-
Method Details
-
getValue
String getValue()Returns unquoted String that this object represents (and offers serialized forms for)- Returns:
- Unquoted String
-
charLength
int charLength()Returns length of the (unquoted) String as characters. Functionally equivalent to:getValue().length();
- Returns:
- Length of the String in characters
-
asQuotedChars
char[] asQuotedChars()Returns JSON quoted form of the String, as character array. Result can be embedded as-is in textual JSON as property name or JSON String.- Returns:
- JSON quoted form of the String as
char[]
-
asUnquotedUTF8
byte[] asUnquotedUTF8()Returns UTF-8 encoded version of unquoted String. Functionally equivalent to (but more efficient than):getValue().getBytes("UTF-8");
- Returns:
- UTF-8 encoded version of String, without any escaping
-
asQuotedUTF8
byte[] asQuotedUTF8()Returns UTF-8 encoded version of JSON-quoted String. Functionally equivalent to (but more efficient than):new String(asQuotedChars()).getBytes("UTF-8");
- Returns:
- UTF-8 encoded version of JSON-escaped String
-
appendQuotedUTF8
int appendQuotedUTF8(byte[] buffer, int offset) Method that will append quoted UTF-8 bytes of this String into given buffer, if there is enough room; if not, returns -1. Functionally equivalent to:byte[] bytes = str.asQuotedUTF8(); System.arraycopy(bytes, 0, buffer, offset, bytes.length); return bytes.length;
- Parameters:
buffer
- Buffer to append JSON-escaped String intooffset
- Offset inbuffer
to append String at- Returns:
- Number of bytes appended, if successful, otherwise -1
-
appendQuoted
int appendQuoted(char[] buffer, int offset) Method that will append quoted characters of this String into given buffer. Functionally equivalent to:char[] ch = str.asQuotedChars(); System.arraycopy(ch, 0, buffer, offset, ch.length); return ch.length;
- Parameters:
buffer
- Buffer to append JSON-escaped String intooffset
- Offset inbuffer
to append String at- Returns:
- Number of characters appended, if successful, otherwise -1
-
appendUnquotedUTF8
int appendUnquotedUTF8(byte[] buffer, int offset) Method that will append unquoted ('raw') UTF-8 bytes of this String into given buffer. Functionally equivalent to:byte[] bytes = str.asUnquotedUTF8(); System.arraycopy(bytes, 0, buffer, offset, bytes.length); return bytes.length;
- Parameters:
buffer
- Buffer to append literal (unescaped) String intooffset
- Offset inbuffer
to append String at- Returns:
- Number of bytes appended, if successful, otherwise -1
-
appendUnquoted
int appendUnquoted(char[] buffer, int offset) Method that will append unquoted characters of this String into given buffer. Functionally equivalent to:char[] ch = str.getValue().toCharArray(); System.arraycopy(bytes, 0, buffer, offset, ch.length); return ch.length;
- Parameters:
buffer
- Buffer to append literal (unescaped) String intooffset
- Offset inbuffer
to append String at- Returns:
- Number of characters appended, if successful, otherwise -1
-
writeQuotedUTF8
Method for writing JSON-escaped UTF-8 encoded String value using givenOutputStream
.- Parameters:
out
-OutputStream
to write String into- Returns:
- Number of bytes written
- Throws:
IOException
- if underlying stream write fails
-
writeUnquotedUTF8
Method for writing unescaped UTF-8 encoded String value using givenOutputStream
.- Parameters:
out
-OutputStream
to write String into- Returns:
- Number of bytes written
- Throws:
IOException
- if underlying stream write fails
-
putQuotedUTF8
Method for appending JSON-escaped UTF-8 encoded String value into givenByteBuffer
, if it fits.- Parameters:
buffer
-ByteBuffer
to append String into- Returns:
- Number of bytes put, if contents fit, otherwise -1
- Throws:
IOException
- if underlying buffer append operation fails
-
putUnquotedUTF8
Method for appending unquoted ('raw') UTF-8 encoded String value into givenByteBuffer
, if it fits.- Parameters:
buffer
-ByteBuffer
to append String into- Returns:
- Number of bytes put, if contents fit, otherwise -1
- Throws:
IOException
- if underlying buffer append operation fails
-