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 Type
    Method
    Description
    int
    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.
    Returns unquoted String that this object represents (and offers serialized forms for)
    int
    Method for appending JSON-escaped UTF-8 encoded String value into given ByteBuffer, if it fits.
    int
    Method for appending unquoted ('raw') UTF-8 encoded String value into given ByteBuffer, if it fits.
    int
    Method for writing JSON-escaped UTF-8 encoded String value using given OutputStream.
    int
    Method for writing unescaped UTF-8 encoded String value using given OutputStream.
  • 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 into
      offset - Offset in buffer 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 into
      offset - Offset in buffer 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 into
      offset - Offset in buffer 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 into
      offset - Offset in buffer to append String at
      Returns:
      Number of characters appended, if successful, otherwise -1
    • writeQuotedUTF8

      int writeQuotedUTF8(OutputStream out) throws IOException
      Method for writing JSON-escaped UTF-8 encoded String value using given OutputStream.
      Parameters:
      out - OutputStream to write String into
      Returns:
      Number of bytes written
      Throws:
      IOException - if underlying stream write fails
    • writeUnquotedUTF8

      int writeUnquotedUTF8(OutputStream out) throws IOException
      Method for writing unescaped UTF-8 encoded String value using given OutputStream.
      Parameters:
      out - OutputStream to write String into
      Returns:
      Number of bytes written
      Throws:
      IOException - if underlying stream write fails
    • putQuotedUTF8

      int putQuotedUTF8(ByteBuffer buffer) throws IOException
      Method for appending JSON-escaped UTF-8 encoded String value into given ByteBuffer, 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

      int putUnquotedUTF8(ByteBuffer buffer) throws IOException
      Method for appending unquoted ('raw') UTF-8 encoded String value into given ByteBuffer, 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