Interface ToBytesSerialiser<T>

    • Field Detail

      • EMPTY_BYTES

        static final byte[] EMPTY_BYTES
        Handle an incoming null value and generate an appropriate byte[] representation.
    • Method Detail

      • serialiseNull

        default byte[] serialiseNull()
        Handle an incoming null value and generate an appropriate byte array representation.
        Specified by:
        serialiseNull in interface Serialiser<T,​byte[]>
        Returns:
        byte[] the serialised bytes
      • serialise

        byte[] serialise​(T object)
                  throws SerialisationException
        Serialise some object and returns the raw bytes of the serialised form.
        Specified by:
        serialise in interface Serialiser<T,​byte[]>
        Parameters:
        object - the object to be serialised
        Returns:
        byte[] the serialised bytes
        Throws:
        SerialisationException - if the object fails to serialise
      • deserialise

        default T deserialise​(byte[] allBytes,
                              int offset,
                              int length)
                       throws SerialisationException
        Parameters:
        allBytes - The bytes to be decoded into characters
        offset - The index of the first byte to decode
        length - The number of bytes to decode
        Returns:
        T the deserialised object
        Throws:
        SerialisationException - issues during deserialisation
      • deserialise

        @Deprecated
        T deserialise​(byte[] bytes)
               throws SerialisationException
        Deprecated.
        Deserialise an array of bytes into the original object.
        Specified by:
        deserialise in interface Serialiser<T,​byte[]>
        Parameters:
        bytes - the bytes to deserialise
        Returns:
        T the deserialised object
        Throws:
        SerialisationException - if the object fails to deserialise

        Note that this implementation is less efficient than using deserialise with an offset and a length, but may still be used if necessary. It has been marked deprecated but will not be removed as it is needed in the Serialiser interface.

        See Also:
        deserialise(byte[], int, int)
      • preservesObjectOrdering

        boolean preservesObjectOrdering()
        Indicates whether the serialisation process preserves the ordering of the T, i.e. if x and y are objects of class T, and x is less than y, then this method should return true if the serialised form of x is guaranteed to be less than the serialised form of y (using the standard ordering of byte arrays). If T is not Comparable then this test makes no sense and false should be returned.
        Specified by:
        preservesObjectOrdering in interface Serialiser<T,​byte[]>
        Returns:
        true if the serialisation will preserve the order of the T, otherwise false.