Class ArrayOfItemsSerDe<T>

    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      T[] deserializeFromMemory​(org.apache.datasketches.memory.Memory mem, int numItems)
      Deserialize a contiguous sequence of serialized items from the given Memory starting at a Memory offset of zero and extending numItems.
      abstract T[] deserializeFromMemory​(org.apache.datasketches.memory.Memory mem, long offsetBytes, int numItems)
      Deserialize a contiguous sequence of serialized items from the given Memory starting at the given Memory offsetBytes and extending numItems.
      abstract Class<T> getClassOfT()
      Returns the concrete class of type T
      abstract byte[] serializeToByteArray​(T item)
      Serialize a single unserialized item to a byte array.
      abstract byte[] serializeToByteArray​(T[] items)
      Serialize an array of unserialized items to a byte array of contiguous serialized items.
      abstract int sizeOf​(org.apache.datasketches.memory.Memory mem, long offsetBytes, int numItems)
      Returns the serialized size in bytes of the number of contiguous serialized items in Memory.
      abstract int sizeOf​(T item)
      Returns the serialized size in bytes of a single unserialized item.
      int sizeOf​(T[] items)
      Returns the serialized size in bytes of the array of items.
      abstract String toString​(T item)
      Returns a human readable string of an item.
    • Constructor Detail

      • ArrayOfItemsSerDe

        public ArrayOfItemsSerDe()
    • Method Detail

      • serializeToByteArray

        public abstract byte[] serializeToByteArray​(T item)
        Serialize a single unserialized item to a byte array.
        Parameters:
        item - the item to be serialized
        Returns:
        serialized representation of the given item
      • serializeToByteArray

        public abstract byte[] serializeToByteArray​(T[] items)
        Serialize an array of unserialized items to a byte array of contiguous serialized items.
        Parameters:
        items - array of items to be serialized
        Returns:
        contiguous, serialized representation of the given array of unserialized items
      • deserializeFromMemory

        public T[] deserializeFromMemory​(org.apache.datasketches.memory.Memory mem,
                                         int numItems)
        Deserialize a contiguous sequence of serialized items from the given Memory starting at a Memory offset of zero and extending numItems.
        Parameters:
        mem - Memory containing a contiguous sequence of serialized items
        numItems - number of items in the contiguous serialized sequence.
        Returns:
        array of deserialized items
        See Also:
        deserializeFromMemory(Memory, long, int)
      • deserializeFromMemory

        public abstract T[] deserializeFromMemory​(org.apache.datasketches.memory.Memory mem,
                                                  long offsetBytes,
                                                  int numItems)
        Deserialize a contiguous sequence of serialized items from the given Memory starting at the given Memory offsetBytes and extending numItems.
        Parameters:
        mem - Memory containing a contiguous sequence of serialized items
        offsetBytes - the starting offset in the given Memory.
        numItems - number of items in the contiguous serialized sequence.
        Returns:
        array of deserialized items
      • sizeOf

        public abstract int sizeOf​(T item)
        Returns the serialized size in bytes of a single unserialized item.
        Parameters:
        item - a specific item
        Returns:
        the serialized size in bytes of a single unserialized item.
      • sizeOf

        public int sizeOf​(T[] items)
        Returns the serialized size in bytes of the array of items.
        Parameters:
        items - an array of items.
        Returns:
        the serialized size in bytes of the array of items.
      • sizeOf

        public abstract int sizeOf​(org.apache.datasketches.memory.Memory mem,
                                   long offsetBytes,
                                   int numItems)
        Returns the serialized size in bytes of the number of contiguous serialized items in Memory. The capacity of the given Memory can be much larger that the required size of the items.
        Parameters:
        mem - the given Memory.
        offsetBytes - the starting offset in the given Memory.
        numItems - the number of serialized items contained in the Memory
        Returns:
        the serialized size in bytes of the given number of items.
      • toString

        public abstract String toString​(T item)
        Returns a human readable string of an item.
        Parameters:
        item - a specific item
        Returns:
        a human readable string of an item.
      • getClassOfT

        public abstract Class<T> getClassOfT()
        Returns the concrete class of type T
        Returns:
        the concrete class of type T