SerializedString (Jackson JSON Processor)
Date: 2013-07-14

org.codehaus.jackson.io

## Class SerializedString

- java.lang.Object
- - org.codehaus.jackson.io.SerializedString

- All Implemented Interfaces:
    SerializableString

      public class SerializedString
      extends Object
      implements SerializableString

  String token that can lazily serialize String contained and then reuse that serialization later on. This is similar to JDBC prepared statements, for example, in that instances should only be created when they are used more than use; prime candidates are various serializers.

  Class is final for performance reasons and since this is not designed to be extensible or customizable (customizations would occur in calling code)

  Since:
    1.6

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected char[]` | `_quotedChars`
    `protected byte[]` | `_quotedUTF8Ref`
    `protected byte[]` | `_unquotedUTF8Ref`
    `protected String` | `_value`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SerializedString(String v)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `char[]` | `asQuotedChars()` Returns JSON quoted form of the String, as character array.
    `byte[]` | `asQuotedUTF8()` Accessor for accessing value as is (without JSON quoting) encoded using UTF-8 encoding.
    `byte[]` | `asUnquotedUTF8()` Accessor for accessing value that has been quoted using JSON quoting rules, and encoded using UTF-8 encoding.
    `int` | `charLength()` Returns length of the String as characters
    `boolean` | `equals(Object o)`
    `String` | `getValue()` Returns unquoted String that this object represents (and offers serialized forms for)
    `int` | `hashCode()`
    `String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### _value

          protected final String _value

    - #### _quotedUTF8Ref

          protected byte[] _quotedUTF8Ref

    - #### _unquotedUTF8Ref

          protected byte[] _unquotedUTF8Ref

    - #### _quotedChars

          protected char[] _quotedChars

  - ### Constructor Detail

    - #### SerializedString

          public SerializedString(String v)

  - ### Method Detail

    - #### getValue

          public final String getValue()

      Description copied from interface: `SerializableString`
      Returns unquoted String that this object represents (and offers serialized forms for)
      Specified by:
        `getValue` in interface `SerializableString`

    - #### charLength

          public final int charLength()

      Returns length of the String as characters
      Specified by:
        `charLength` in interface `SerializableString`

    - #### asQuotedChars

          public final char[] asQuotedChars()

      Description copied from interface: `SerializableString`
      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.
      Specified by:
        `asQuotedChars` in interface `SerializableString`

    - #### asUnquotedUTF8

          public final byte[] asUnquotedUTF8()

      Accessor for accessing value that has been quoted using JSON quoting rules, and encoded using UTF-8 encoding.
      Specified by:
        `asUnquotedUTF8` in interface `SerializableString`

    - #### asQuotedUTF8

          public final byte[] asQuotedUTF8()

      Accessor for accessing value as is (without JSON quoting) encoded using UTF-8 encoding.
      Specified by:
        `asQuotedUTF8` in interface `SerializableString`

    - #### toString

          public final String toString()

      Overrides:
        `toString` in class `Object`

    - #### hashCode

          public final int hashCode()

      Overrides:
        `hashCode` in class `Object`

    - #### equals

          public final boolean equals(Object o)

      Overrides:
        `equals` in class `Object`