Class ObjectSchema

  • All Implemented Interfaces:
    Schema<java.lang.Object>

    public abstract class ObjectSchema
    extends PolymorphicSchema
    A schema for dynamic types (fields where the type is Object).
    • Constructor Detail

      • ObjectSchema

        public ObjectSchema​(IdStrategy strategy)
    • Method Detail

      • name

        static java.lang.String name​(int number)
      • number

        static int number​(java.lang.String name)
      • getFieldName

        public java.lang.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);
         
      • getFieldNumber

        public int getFieldNumber​(java.lang.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);
         
      • messageFullName

        public java.lang.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();
      • messageName

        public java.lang.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();
      • mergeFrom

        public void mergeFrom​(Input input,
                              java.lang.Object owner)
                       throws java.io.IOException
        Description copied from interface: Schema
        Deserializes a message/object from the input.
        Throws:
        java.io.IOException
      • writeTo

        public void writeTo​(Output output,
                            java.lang.Object value)
                     throws java.io.IOException
        Description copied from interface: Schema
        Serializes a message/object to the output.
        Throws:
        java.io.IOException
      • transferArray

        static void transferArray​(Pipe pipe,
                                  Input input,
                                  Output output,
                                  int number,
                                  Pipe.Schema<?> pipeSchema,
                                  boolean mapped,
                                  IdStrategy strategy)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • transferClass

        static void transferClass​(Pipe pipe,
                                  Input input,
                                  Output output,
                                  int number,
                                  Pipe.Schema<?> pipeSchema,
                                  boolean mapped,
                                  boolean array,
                                  IdStrategy strategy)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • getArrayClass

        static java.lang.Class<?> getArrayClass​(Input input,
                                                Schema<?> schema,
                                                java.lang.Class<?> componentType)
                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • readObjectFrom

        static java.lang.Object readObjectFrom​(Input input,
                                               Schema<?> schema,
                                               java.lang.Object owner,
                                               IdStrategy strategy)
                                        throws java.io.IOException
        Throws:
        java.io.IOException
      • writeObjectTo

        static void writeObjectTo​(Output output,
                                  java.lang.Object value,
                                  Schema<?> currentSchema,
                                  IdStrategy strategy)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • isComponentPojo

        private static boolean isComponentPojo​(java.lang.Class<?> componentType)
      • writeComponentTo

        private static void writeComponentTo​(Output output,
                                             java.lang.Object value,
                                             Schema<?> currentSchema,
                                             IdStrategy strategy,
                                             java.lang.Class<?> componentType,
                                             int dimensions)
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • writeArrayTo

        private static void writeArrayTo​(Output output,
                                         java.lang.Object value,
                                         Schema<?> currentSchema,
                                         IdStrategy strategy,
                                         java.lang.Class<java.lang.Object> clazz)
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • transferObject

        static void transferObject​(Pipe.Schema<java.lang.Object> pipeSchema,
                                   Pipe pipe,
                                   Input input,
                                   Output output,
                                   IdStrategy strategy)
                            throws java.io.IOException
        Throws:
        java.io.IOException