Class ArrayOfNumbersSerDe

java.lang.Object
org.apache.datasketches.ArrayOfItemsSerDe<Number>
org.apache.datasketches.ArrayOfNumbersSerDe

public class ArrayOfNumbersSerDe
extends ArrayOfItemsSerDe<Number>
Methods of serializing and deserializing arrays of the object version of primitive types of Number.

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 Details

  • Method Details

    • 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