public interface

SerializableString

com.fasterxml.jackson.core.SerializableString
Known Indirect Subclasses

Class Overview

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.

See Also

Summary

Public Methods
abstract int appendQuoted(char[] buffer, int offset)
Method that will append quoted characters of this String into given buffer.
abstract 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.
abstract int appendUnquoted(char[] buffer, int offset)
Method that will append unquoted characters of this String into given buffer.
abstract int appendUnquotedUTF8(byte[] buffer, int offset)
Method that will append unquoted ('raw') UTF-8 bytes of this String into given buffer.
abstract char[] asQuotedChars()
Returns JSON quoted form of the String, as character array.
abstract byte[] asQuotedUTF8()
Returns UTF-8 encoded version of JSON-quoted String.
abstract byte[] asUnquotedUTF8()
Returns UTF-8 encoded version of unquoted String.
abstract int charLength()
Returns length of the (unquoted) String as characters.
abstract String getValue()
Returns unquoted String that this object represents (and offers serialized forms for)
abstract int putQuotedUTF8(ByteBuffer buffer)
abstract int putUnquotedUTF8(ByteBuffer out)
abstract int writeQuotedUTF8(OutputStream out)
abstract int writeUnquotedUTF8(OutputStream out)

Public Methods

public abstract 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;

Returns
  • Number of characters appended, if successful, otherwise -1

public abstract 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;

Returns
  • Number of bytes appended, if successful, otherwise -1

public abstract 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;

Returns
  • Number of characters appended, if successful, otherwise -1

public abstract 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;

Returns
  • Number of bytes appended, if successful, otherwise -1

public abstract 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.

public abstract byte[] asQuotedUTF8 ()

Returns UTF-8 encoded version of JSON-quoted String. Functionally equivalent to (but more efficient than):

 new String(asQuotedChars()).getBytes("UTF-8");

public abstract byte[] asUnquotedUTF8 ()

Returns UTF-8 encoded version of unquoted String. Functionally equivalent to (but more efficient than):

 getValue().getBytes("UTF-8");

public abstract int charLength ()

Returns length of the (unquoted) String as characters. Functionally equvalent to:

   getValue().length();

public abstract String getValue ()

Returns unquoted String that this object represents (and offers serialized forms for)

public abstract int putQuotedUTF8 (ByteBuffer buffer)

Returns
  • Number of bytes put, if successful, otherwise -1
Throws
IOException

public abstract int putUnquotedUTF8 (ByteBuffer out)

Returns
  • Number of bytes put, if successful, otherwise -1
Throws
IOException

public abstract int writeQuotedUTF8 (OutputStream out)

Returns
  • Number of bytes written
Throws
IOException

public abstract int writeUnquotedUTF8 (OutputStream out)

Returns
  • Number of bytes written
Throws
IOException