com.dyuproject.protostuff
Class StreamedStringSerializer

java.lang.Object
  extended by com.dyuproject.protostuff.StreamedStringSerializer

public final class StreamedStringSerializer
extends java.lang.Object

UTF-8 String serialization

Author:
David Yu
Date created:
Feb 4, 2010

Method Summary
static LinkedBuffer writeAscii(java.lang.String str, WriteSession session, java.io.OutputStream out, LinkedBuffer lb)
          Writes the ascii bytes from the string into the LinkedBuffer.
static LinkedBuffer writeDouble(double value, WriteSession session, java.io.OutputStream out, LinkedBuffer lb)
          Writes the stringified double into the LinkedBuffer.
static LinkedBuffer writeFloat(float value, WriteSession session, java.io.OutputStream out, LinkedBuffer lb)
          Writes the stringified float into the LinkedBuffer.
static LinkedBuffer writeInt(int value, WriteSession session, java.io.OutputStream out, LinkedBuffer lb)
          Writes the stringified int into the LinkedBuffer.
static LinkedBuffer writeLong(long value, WriteSession session, java.io.OutputStream out, LinkedBuffer lb)
          Writes the stringified long into the LinkedBuffer.
static LinkedBuffer writeUTF8(java.lang.String str, WriteSession session, java.io.OutputStream out, LinkedBuffer lb)
          Writes the utf8-encoded bytes from the string into the LinkedBuffer.
static LinkedBuffer writeUTF8FixedDelimited(java.lang.String str, boolean littleEndian, WriteSession session, java.io.OutputStream out, LinkedBuffer lb)
          The length of the utf8 bytes is written first before the string - which is fixed 2-bytes.
static LinkedBuffer writeUTF8FixedDelimited(java.lang.String str, WriteSession session, java.io.OutputStream out, LinkedBuffer lb)
          The length of the utf8 bytes is written first (big endian) before the string - which is fixed 2-bytes.
static LinkedBuffer writeUTF8VarDelimited(java.lang.String str, WriteSession session, java.io.OutputStream out, LinkedBuffer lb)
          The length of the utf8 bytes is written first before the string - which is a variable int (1 to 5 bytes).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

writeInt

public static LinkedBuffer writeInt(int value,
                                    WriteSession session,
                                    java.io.OutputStream out,
                                    LinkedBuffer lb)
                             throws java.io.IOException
Writes the stringified int into the LinkedBuffer.

Throws:
java.io.IOException

writeLong

public static LinkedBuffer writeLong(long value,
                                     WriteSession session,
                                     java.io.OutputStream out,
                                     LinkedBuffer lb)
                              throws java.io.IOException
Writes the stringified long into the LinkedBuffer.

Throws:
java.io.IOException

writeFloat

public static LinkedBuffer writeFloat(float value,
                                      WriteSession session,
                                      java.io.OutputStream out,
                                      LinkedBuffer lb)
                               throws java.io.IOException
Writes the stringified float into the LinkedBuffer. TODO - skip string conversion and write directly to buffer

Throws:
java.io.IOException

writeDouble

public static LinkedBuffer writeDouble(double value,
                                       WriteSession session,
                                       java.io.OutputStream out,
                                       LinkedBuffer lb)
                                throws java.io.IOException
Writes the stringified double into the LinkedBuffer. TODO - skip string conversion and write directly to buffer

Throws:
java.io.IOException

writeUTF8

public static LinkedBuffer writeUTF8(java.lang.String str,
                                     WriteSession session,
                                     java.io.OutputStream out,
                                     LinkedBuffer lb)
                              throws java.io.IOException
Writes the utf8-encoded bytes from the string into the LinkedBuffer.

Throws:
java.io.IOException

writeAscii

public static LinkedBuffer writeAscii(java.lang.String str,
                                      WriteSession session,
                                      java.io.OutputStream out,
                                      LinkedBuffer lb)
                               throws java.io.IOException
Writes the ascii bytes from the string into the LinkedBuffer. It is the responsibility of the caller to know in advance that the string is 100% ascii. E.g if you convert a double/float to a string, you are sure it only contains ascii chars.

Throws:
java.io.IOException

writeUTF8FixedDelimited

public static LinkedBuffer writeUTF8FixedDelimited(java.lang.String str,
                                                   WriteSession session,
                                                   java.io.OutputStream out,
                                                   LinkedBuffer lb)
                                            throws java.io.IOException
The length of the utf8 bytes is written first (big endian) before the string - which is fixed 2-bytes. Same behavior as DataOutputStream.writeUTF(String).

Throws:
java.io.IOException

writeUTF8FixedDelimited

public static LinkedBuffer writeUTF8FixedDelimited(java.lang.String str,
                                                   boolean littleEndian,
                                                   WriteSession session,
                                                   java.io.OutputStream out,
                                                   LinkedBuffer lb)
                                            throws java.io.IOException
The length of the utf8 bytes is written first before the string - which is fixed 2-bytes.

Throws:
java.io.IOException

writeUTF8VarDelimited

public static LinkedBuffer writeUTF8VarDelimited(java.lang.String str,
                                                 WriteSession session,
                                                 java.io.OutputStream out,
                                                 LinkedBuffer lb)
                                          throws java.io.IOException
The length of the utf8 bytes is written first before the string - which is a variable int (1 to 5 bytes).

Throws:
java.io.IOException


Copyright © 2009-2012. All Rights Reserved.