Package io.protostuff

Class Pipe.Schema<T>

java.lang.Object
io.protostuff.Pipe.Schema<T>
All Implemented Interfaces:
Schema<Pipe>
Direct Known Subclasses:
RuntimePipeSchema
Enclosing class:
Pipe

public abstract static class Pipe.Schema<T> extends Object implements Schema<Pipe>
Schema for transferring data from a source (Input) to a different sink (Output).
  • Field Details

    • wrappedSchema

      public final Schema<T> wrappedSchema
  • Constructor Details

    • Schema

      public Schema(Schema<T> wrappedSchema)
  • Method Details

    • getFieldName

      public String getFieldName(int number)
      Description copied from interface: Schema
      Gets the field name associated with the number. This is particularly useful when serializing to different formats (Eg. JSON). When using numeric field names:
       return String.valueOf(number);
       
      Specified by:
      getFieldName in interface Schema<T>
    • getFieldNumber

      public int getFieldNumber(String name)
      Description copied from interface: Schema
      Gets the field number associated with the name. This is particularly useful when serializing to different formats (Eg. JSON). When using numeric field names:
       return Integer.parseInt(name);
       
      Specified by:
      getFieldNumber in interface Schema<T>
    • isInitialized

      public boolean isInitialized(Pipe message)
      Always returns true since we're just transferring data.
      Specified by:
      isInitialized in interface Schema<T>
    • messageFullName

      public String messageFullName()
      Description copied from interface: Schema
      Returns the full name of the message tied to this schema. Allows custom schemas to provide a custom name other than typeClass().getName();
      Specified by:
      messageFullName in interface Schema<T>
    • messageName

      public String messageName()
      Description copied from interface: Schema
      Returns the simple name of the message tied to this schema. Allows custom schemas to provide a custom name other than typeClass().getSimpleName();
      Specified by:
      messageName in interface Schema<T>
    • newMessage

      public Pipe newMessage()
      Description copied from interface: Schema
      Creates the message/object tied to this schema.
      Specified by:
      newMessage in interface Schema<T>
    • typeClass

      public Class<Pipe> typeClass()
      Description copied from interface: Schema
      Gets the class of the message.
      Specified by:
      typeClass in interface Schema<T>
    • writeTo

      public final void writeTo(Output output, Pipe pipe) throws IOException
      Description copied from interface: Schema
      Serializes a message/object to the output.
      Specified by:
      writeTo in interface Schema<T>
      Throws:
      IOException
    • mergeFrom

      public final void mergeFrom(Input input, Pipe pipe) throws IOException
      Description copied from interface: Schema
      Deserializes a message/object from the input.
      Specified by:
      mergeFrom in interface Schema<T>
      Throws:
      IOException
    • transfer

      protected abstract void transfer(Pipe pipe, Input input, Output output) throws IOException
      Transfer data from the Input to the Output.
      Throws:
      IOException