Package com.fasterxml.jackson.core.io
Class SerializedString
- java.lang.Object
-
- com.fasterxml.jackson.core.io.SerializedString
-
- All Implemented Interfaces:
SerializableString,java.io.Serializable
public class SerializedString extends java.lang.Object implements SerializableString, java.io.Serializable
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)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String_jdkSerializeValueUgly hack, to work through the requirement that _value is indeed final, and that JDK serialization won't call ctor(s).protected char[]_quotedCharsprotected byte[]_quotedUTF8Refprotected byte[]_unquotedUTF8Refprotected java.lang.String_value
-
Constructor Summary
Constructors Constructor Description SerializedString(java.lang.String v)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intappendQuoted(char[] buffer, int offset)Method that will append quoted characters of this String into given buffer.intappendQuotedUTF8(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.intappendUnquoted(char[] buffer, int offset)Method that will append unquoted characters of this String into given buffer.intappendUnquotedUTF8(byte[] buffer, int offset)Method that will append unquoted ('raw') UTF-8 bytes of this String into given buffer.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.intcharLength()Returns length of the String as charactersbooleanequals(java.lang.Object o)java.lang.StringgetValue()Returns unquoted String that this object represents (and offers serialized forms for)inthashCode()intputQuotedUTF8(java.nio.ByteBuffer buffer)intputUnquotedUTF8(java.nio.ByteBuffer buffer)protected java.lang.ObjectreadResolve()java.lang.StringtoString()intwriteQuotedUTF8(java.io.OutputStream out)intwriteUnquotedUTF8(java.io.OutputStream out)
-
-
-
Field Detail
-
_value
protected final java.lang.String _value
-
_quotedUTF8Ref
protected byte[] _quotedUTF8Ref
-
_unquotedUTF8Ref
protected byte[] _unquotedUTF8Ref
-
_quotedChars
protected char[] _quotedChars
-
_jdkSerializeValue
protected transient java.lang.String _jdkSerializeValue
Ugly hack, to work through the requirement that _value is indeed final, and that JDK serialization won't call ctor(s).- Since:
- 2.1
-
-
Method Detail
-
readResolve
protected java.lang.Object readResolve()
-
getValue
public final java.lang.String getValue()
Description copied from interface:SerializableStringReturns unquoted String that this object represents (and offers serialized forms for)- Specified by:
getValuein interfaceSerializableString
-
charLength
public final int charLength()
Returns length of the String as characters- Specified by:
charLengthin interfaceSerializableString
-
asQuotedChars
public final char[] asQuotedChars()
Description copied from interface:SerializableStringReturns 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:
asQuotedCharsin interfaceSerializableString
-
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:
asUnquotedUTF8in interfaceSerializableString
-
asQuotedUTF8
public final byte[] asQuotedUTF8()
Accessor for accessing value as is (without JSON quoting) encoded using UTF-8 encoding.- Specified by:
asQuotedUTF8in interfaceSerializableString
-
appendQuotedUTF8
public int appendQuotedUTF8(byte[] buffer, int offset)Description copied from interface:SerializableStringMethod 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;
- Specified by:
appendQuotedUTF8in interfaceSerializableString- Returns:
- Number of bytes appended, if successful, otherwise -1
-
appendQuoted
public int appendQuoted(char[] buffer, int offset)Description copied from interface:SerializableStringMethod 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;
- Specified by:
appendQuotedin interfaceSerializableString- Returns:
- Number of characters appended, if successful, otherwise -1
-
appendUnquotedUTF8
public int appendUnquotedUTF8(byte[] buffer, int offset)Description copied from interface:SerializableStringMethod 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;
- Specified by:
appendUnquotedUTF8in interfaceSerializableString- Returns:
- Number of bytes appended, if successful, otherwise -1
-
appendUnquoted
public int appendUnquoted(char[] buffer, int offset)Description copied from interface:SerializableStringMethod 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;
- Specified by:
appendUnquotedin interfaceSerializableString- Returns:
- Number of characters appended, if successful, otherwise -1
-
writeQuotedUTF8
public int writeQuotedUTF8(java.io.OutputStream out) throws java.io.IOException- Specified by:
writeQuotedUTF8in interfaceSerializableString- Returns:
- Number of bytes written
- Throws:
java.io.IOException
-
writeUnquotedUTF8
public int writeUnquotedUTF8(java.io.OutputStream out) throws java.io.IOException- Specified by:
writeUnquotedUTF8in interfaceSerializableString- Returns:
- Number of bytes written
- Throws:
java.io.IOException
-
putQuotedUTF8
public int putQuotedUTF8(java.nio.ByteBuffer buffer)
- Specified by:
putQuotedUTF8in interfaceSerializableString- Returns:
- Number of bytes put, if successful, otherwise -1
-
putUnquotedUTF8
public int putUnquotedUTF8(java.nio.ByteBuffer buffer)
- Specified by:
putUnquotedUTF8in interfaceSerializableString- Returns:
- Number of bytes put, if successful, otherwise -1
-
toString
public final java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
hashCode
public final int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public final boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
-