Class ArrayOfStringsSerDe


  • public class ArrayOfStringsSerDe
    extends ArrayOfItemsSerDe<String>
    Methods of serializing and deserializing arrays of String. This class serializes strings in UTF-8 format, which is more compact compared to ArrayOfUtf16StringsSerDe. In an extreme case when all strings are in ASCII, this method is 2 times more compact, but it takes more time to encode and decode by a factor of 1.5 to 2.

    The serialization

    Author:
    Alexander Saydakov
    • Constructor Detail

      • ArrayOfStringsSerDe

        public ArrayOfStringsSerDe()
    • Method Detail

      • serializeToByteArray

        public byte[] serializeToByteArray​(String item)
        Description copied from class: ArrayOfItemsSerDe
        Serialize a single unserialized item to a byte array.
        Specified by:
        serializeToByteArray in class ArrayOfItemsSerDe<String>
        Parameters:
        item - the item to be serialized
        Returns:
        serialized representation of the given item
      • serializeToByteArray

        public byte[] serializeToByteArray​(String[] items)
        Description copied from class: ArrayOfItemsSerDe
        Serialize an array of unserialized items to a byte array of contiguous serialized items.
        Specified by:
        serializeToByteArray in class ArrayOfItemsSerDe<String>
        Parameters:
        items - array of items to be serialized
        Returns:
        contiguous, serialized representation of the given array of unserialized items
      • deserializeFromMemory

        public String[] deserializeFromMemory​(org.apache.datasketches.memory.Memory mem,
                                              int numItems)
        Description copied from class: ArrayOfItemsSerDe
        Deserialize a contiguous sequence of serialized items from the given Memory starting at a Memory offset of zero and extending numItems.
        Overrides:
        deserializeFromMemory in class ArrayOfItemsSerDe<String>
        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:
        ArrayOfItemsSerDe.deserializeFromMemory(Memory, long, int)
      • deserializeFromMemory

        public String[] deserializeFromMemory​(org.apache.datasketches.memory.Memory mem,
                                              long offsetBytes,
                                              int numItems)
        Description copied from class: ArrayOfItemsSerDe
        Deserialize a contiguous sequence of serialized items from the given Memory starting at the given Memory offsetBytes and extending numItems.
        Specified by:
        deserializeFromMemory in class ArrayOfItemsSerDe<String>
        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 int sizeOf​(String item)
        Description copied from class: ArrayOfItemsSerDe
        Returns the serialized size in bytes of a single unserialized item.
        Specified by:
        sizeOf in class ArrayOfItemsSerDe<String>
        Parameters:
        item - a specific item
        Returns:
        the serialized size in bytes of a single unserialized item.
      • sizeOf

        public int sizeOf​(org.apache.datasketches.memory.Memory mem,
                          long offsetBytes,
                          int numItems)
        Description copied from class: ArrayOfItemsSerDe
        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.
        Specified by:
        sizeOf in class ArrayOfItemsSerDe<String>
        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.