Interface StreamSerializer<T>

  • Type Parameters:
    T - type of the serialized object
    All Superinterfaces:
    Serializer
    All Known Implementing Classes:
    ProtobufSerializer

    public interface StreamSerializer<T>
    extends Serializer
    A base class for custom serialization. User can register custom serializer like following:
         final SerializerConfig serializerConfig = new SerializerConfig();
         serializerConfig.setImplementation(new StreamSerializer<Person>() {
              public int getTypeId() {
    
              }
    
              public void destroy() {
    
              }
    
              public void write(ObjectDataOutput out, Person object) throws IOException {
    
              }
    
              public Person read(ObjectDataInput in) throws IOException {
    
              });
    
         serializerConfig.setTypeClass(Person.class);
         config.getSerializationConfig().addSerializerConfig(serializerConfig);
    
     
    There is another class with byte arrays can be used instead ıf this interface see ByteArraySerializer.

    C++ and C# clients also have compatible methods so that with custom serialization client can also be used

    Note that read and write methods should be compatible

    • Method Detail

      • write

        void write​(@Nonnull
                   ObjectDataOutput out,
                   @Nonnull
                   T object)
            throws java.io.IOException
        This method writes object to ObjectDataOutput
        Parameters:
        out - ObjectDataOutput stream that object will be written to
        object - that will be written to out
        Throws:
        java.io.IOException - in case of failure to write
      • read

        @Nonnull
        T read​(@Nonnull
               ObjectDataInput in)
        throws java.io.IOException
        Reads object from objectDataInputStream
        Parameters:
        in - ObjectDataInput stream that object will read from
        Returns:
        read object
        Throws:
        java.io.IOException - in case of failure to read