Class DoublesUnionSerialiser

  • All Implemented Interfaces:
    Serializable, Serialiser<org.apache.datasketches.quantiles.DoublesUnion,​byte[]>, ToBytesSerialiser<org.apache.datasketches.quantiles.DoublesUnion>

    public class DoublesUnionSerialiser
    extends Object
    implements ToBytesSerialiser<org.apache.datasketches.quantiles.DoublesUnion>
    A DoublesUnionSerialiser serialises a DoublesUnion using its toByteArray() method.
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canHandle​(Class clazz)
      Check whether the serialiser can serialise a particular class.
      org.apache.datasketches.quantiles.DoublesUnion deserialise​(byte[] bytes)
      Deserialise an array of bytes into the original object.
      org.apache.datasketches.quantiles.DoublesUnion deserialiseEmpty()
      Handle an empty byte array and reconstruct an appropriate representation in T form.
      boolean equals​(Object obj)  
      int hashCode()  
      boolean isConsistent()
      Indicates whether the serialisation process produces a predictable, consistent OUTPUT, from a given INPUT, ie the same object should always serialise in the same way for this to be true.
      boolean preservesObjectOrdering()
      Indicates whether the serialisation process preserves the ordering of the T, i.e.
      byte[] serialise​(org.apache.datasketches.quantiles.DoublesUnion union)
      Serialise some object and returns the raw bytes of the serialised form.
    • Constructor Detail

      • DoublesUnionSerialiser

        public DoublesUnionSerialiser()
    • Method Detail

      • canHandle

        public boolean canHandle​(Class clazz)
        Description copied from interface: Serialiser
        Check whether the serialiser can serialise a particular class.

        //Warning: Due to erasure you may get false positives. e.g.

         
         Set<Foo> set = Sets.newHashSet();
         boolean b = new Serialiser<Set<Bar>, byte[]>().canHandle(set.getClass());
         b will incorrectly be true because of type erasure between Set<Foo> Set<Bar>
         
         
        Specified by:
        canHandle in interface Serialiser<org.apache.datasketches.quantiles.DoublesUnion,​byte[]>
        Parameters:
        clazz - the object class to serialise
        Returns:
        boolean true if it can be handled
      • serialise

        public byte[] serialise​(org.apache.datasketches.quantiles.DoublesUnion union)
                         throws SerialisationException
        Description copied from interface: ToBytesSerialiser
        Serialise some object and returns the raw bytes of the serialised form.
        Specified by:
        serialise in interface Serialiser<org.apache.datasketches.quantiles.DoublesUnion,​byte[]>
        Specified by:
        serialise in interface ToBytesSerialiser<org.apache.datasketches.quantiles.DoublesUnion>
        Parameters:
        union - the object to be serialised
        Returns:
        byte[] the serialised bytes
        Throws:
        SerialisationException - if the object fails to serialise
      • deserialise

        public org.apache.datasketches.quantiles.DoublesUnion deserialise​(byte[] bytes)
                                                                   throws SerialisationException
        Description copied from interface: ToBytesSerialiser
        Deserialise an array of bytes into the original object.
        Specified by:
        deserialise in interface Serialiser<org.apache.datasketches.quantiles.DoublesUnion,​byte[]>
        Specified by:
        deserialise in interface ToBytesSerialiser<org.apache.datasketches.quantiles.DoublesUnion>
        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:
        ToBytesSerialiser.deserialise(byte[], int, int)
      • preservesObjectOrdering

        public boolean preservesObjectOrdering()
        Description copied from interface: ToBytesSerialiser
        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<org.apache.datasketches.quantiles.DoublesUnion,​byte[]>
        Specified by:
        preservesObjectOrdering in interface ToBytesSerialiser<org.apache.datasketches.quantiles.DoublesUnion>
        Returns:
        true if the serialisation will preserve the order of the T, otherwise false.
      • isConsistent

        public boolean isConsistent()
        Description copied from interface: Serialiser
        Indicates whether the serialisation process produces a predictable, consistent OUTPUT, from a given INPUT, ie the same object should always serialise in the same way for this to be true.
        Specified by:
        isConsistent in interface Serialiser<org.apache.datasketches.quantiles.DoublesUnion,​byte[]>
        Returns:
        true if serialisation is consistent for a given object, otherwise false.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object