Class SchemaCoder<T>

    • Field Detail

      • schema

        protected final Schema schema
    • Method Detail

      • overrideEncodingPositions

        public static void overrideEncodingPositions​(java.util.UUID uuid,
                                                     java.util.Map<java.lang.String,​java.lang.Integer> encodingPositions)
        Override encoding positions for the given schema.
      • getSchema

        public Schema getSchema()
        Returns the schema associated with this type.
      • getFromRowFunction

        public SerializableFunction<Row,​T> getFromRowFunction()
        Returns the toRow conversion function.
      • encode

        public void encode​(T value,
                           java.io.OutputStream outStream)
                    throws java.io.IOException
        Description copied from class: Coder
        Encodes the given value of type T onto the given output stream.
        Specified by:
        encode in class Coder<T>
        Throws:
        java.io.IOException - if writing to the OutputStream fails for some reason
        CoderException - if the value could not be encoded for some reason
      • decode

        public T decode​(java.io.InputStream inStream)
                 throws java.io.IOException
        Description copied from class: Coder
        Decodes a value of type T from the given input stream in the given context. Returns the decoded value.
        Specified by:
        decode in class Coder<T>
        Throws:
        java.io.IOException - if reading from the InputStream fails for some reason
        CoderException - if the value could not be decoded for some reason
      • consistentWithEquals

        public boolean consistentWithEquals()
        Description copied from class: Coder
        Returns true if this Coder is injective with respect to Object.equals(java.lang.Object).

        Whenever the encoded bytes of two values are equal, then the original values are equal according to Objects.equals(). Note that this is well-defined for null.

        This condition is most notably false for arrays. More generally, this condition is false whenever equals() compares object identity, rather than performing a semantic/structural comparison.

        By default, returns false.

        Overrides:
        consistentWithEquals in class Coder<T>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(@Nullable java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object