Package io.protostuff

Class StreamedStringSerializer


  • public final class StreamedStringSerializer
    extends java.lang.Object
    UTF-8 String serialization
    • Constructor Detail

      • StreamedStringSerializer

        private StreamedStringSerializer()
    • Method Detail

      • writeFloat

        public static LinkedBuffer writeFloat​(float value,
                                              WriteSession session,
                                              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,
                                               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.CharSequence str,
                                             WriteSession session,
                                             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.CharSequence str,
                                              WriteSession session,
                                              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
      • flushAndReset

        private static void flushAndReset​(LinkedBuffer node,
                                          WriteSession session)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • writeUTF8FixedDelimited

        public static LinkedBuffer writeUTF8FixedDelimited​(java.lang.CharSequence str,
                                                           WriteSession session,
                                                           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.CharSequence str,
                                                           boolean littleEndian,
                                                           WriteSession session,
                                                           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
      • writeUTF8OneByteDelimited

        private static LinkedBuffer writeUTF8OneByteDelimited​(java.lang.CharSequence str,
                                                              int index,
                                                              int len,
                                                              WriteSession session,
                                                              LinkedBuffer lb)
                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • writeUTF8VarDelimited

        private static LinkedBuffer writeUTF8VarDelimited​(java.lang.CharSequence str,
                                                          int index,
                                                          int len,
                                                          int lowerLimit,
                                                          int expectedSize,
                                                          WriteSession session,
                                                          LinkedBuffer lb)
                                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • writeUTF8VarDelimited

        public static LinkedBuffer writeUTF8VarDelimited​(java.lang.CharSequence str,
                                                         WriteSession session,
                                                         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