Class ArrayOfNumbersSerDe


  • public class ArrayOfNumbersSerDe
    extends ArrayOfItemsSerDe<Number>
    Methods of serializing and deserializing arrays of the object version of primitive types of Number. The array can be a mix of primitive object types.

    This class serializes numbers with a leading byte (ASCII character) indicating the type. The class keeps the values byte aligned, even though only 3 bits are strictly necessary to encode one of the 6 different primitives with object types that extend Number.

    Classes handled are: Long, Integer, Short, Byte, Double, and Float.

    Author:
    Jon Malkin
    • Constructor Detail

      • ArrayOfNumbersSerDe

        public ArrayOfNumbersSerDe()
    • Method Detail

      • serializeToByteArray

        public byte[] serializeToByteArray​(Number[] items)
        Description copied from class: ArrayOfItemsSerDe
        Serialize an array of items to byte array. The size of the array doesn't need to be serialized. This method is called by the sketch serialization process.
        Specified by:
        serializeToByteArray in class ArrayOfItemsSerDe<Number>
        Parameters:
        items - array of items to be serialized
        Returns:
        serialized representation of the given array of items
      • deserializeFromMemory

        public Number[] deserializeFromMemory​(org.apache.datasketches.memory.Memory mem,
                                              int length)
        Description copied from class: ArrayOfItemsSerDe
        Deserialize an array of items from a given Memory object. This method is called by the sketch deserialization process.
        Specified by:
        deserializeFromMemory in class ArrayOfItemsSerDe<Number>
        Parameters:
        mem - Memory containing a serialized array of items
        length - number of items in the serialized array
        Returns:
        deserialized array of items