public class SerializedString extends Object implements SerializableString, Serializable
Class is final for performance reasons and since this is not designed to be extensible or customizable (customizations would occur in calling code)
Modifier and Type | Field and Description |
---|---|
protected String |
_jdkSerializeValue
Ugly hack, to work through the requirement that _value is indeed final,
and that JDK serialization won't call ctor(s).
|
protected char[] |
_quotedChars |
protected byte[] |
_quotedUTF8Ref |
protected byte[] |
_unquotedUTF8Ref |
protected String |
_value |
Constructor and Description |
---|
SerializedString(String v) |
Modifier and Type | Method and 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[] |
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() |
int |
putQuotedUTF8(ByteBuffer buffer) |
int |
putUnquotedUTF8(ByteBuffer buffer) |
protected Object |
readResolve() |
String |
toString() |
int |
writeQuotedUTF8(OutputStream out) |
int |
writeUnquotedUTF8(OutputStream out) |
protected final String _value
protected byte[] _quotedUTF8Ref
protected byte[] _unquotedUTF8Ref
protected char[] _quotedChars
protected transient String _jdkSerializeValue
public SerializedString(String v)
protected Object readResolve()
public final String getValue()
SerializableString
getValue
in interface SerializableString
public final int charLength()
charLength
in interface SerializableString
public final char[] asQuotedChars()
SerializableString
asQuotedChars
in interface SerializableString
public final byte[] asUnquotedUTF8()
asUnquotedUTF8
in interface SerializableString
public final byte[] asQuotedUTF8()
asQuotedUTF8
in interface SerializableString
public int appendQuotedUTF8(byte[] buffer, int offset)
SerializableString
byte[] bytes = str.asQuotedUTF8(); System.arraycopy(bytes, 0, buffer, offset, bytes.length); return bytes.length;
appendQuotedUTF8
in interface SerializableString
public int appendQuoted(char[] buffer, int offset)
SerializableString
char[] ch = str.asQuotedChars(); System.arraycopy(ch, 0, buffer, offset, ch.length); return ch.length;
appendQuoted
in interface SerializableString
public int appendUnquotedUTF8(byte[] buffer, int offset)
SerializableString
byte[] bytes = str.asUnquotedUTF8(); System.arraycopy(bytes, 0, buffer, offset, bytes.length); return bytes.length;
appendUnquotedUTF8
in interface SerializableString
public int appendUnquoted(char[] buffer, int offset)
SerializableString
char[] ch = str.getValue().toCharArray(); System.arraycopy(bytes, 0, buffer, offset, ch.length); return ch.length;
appendUnquoted
in interface SerializableString
public int writeQuotedUTF8(OutputStream out) throws IOException
writeQuotedUTF8
in interface SerializableString
IOException
public int writeUnquotedUTF8(OutputStream out) throws IOException
writeUnquotedUTF8
in interface SerializableString
IOException
public int putQuotedUTF8(ByteBuffer buffer)
putQuotedUTF8
in interface SerializableString
public int putUnquotedUTF8(ByteBuffer buffer)
putUnquotedUTF8
in interface SerializableString
Copyright © 2017 JBoss by Red Hat. All rights reserved.