Class ArrayOfUtf16StringsSerDe

java.lang.Object
org.apache.datasketches.common.ArrayOfItemsSerDe<String>
org.apache.datasketches.common.ArrayOfUtf16StringsSerDe

public class ArrayOfUtf16StringsSerDe extends ArrayOfItemsSerDe<String>
Methods of serializing and deserializing arrays of String. This class serializes strings using internal Java representation as char[], where each char is a 16-bit code. The result is larger than one from ArrayOfStringsSerDe. In an extreme case when all strings are in ASCII, the size is doubled. However it takes less time to serialize and deserialize by a factor of 1.5 to 2.
Author:
Alexander Saydakov
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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.
    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.
    Returns the concrete class of type T
    byte[]
    Serialize a single unserialized item to a byte array.
    byte[]
    Serialize an array of unserialized items to a byte array of contiguous serialized items.
    int
    sizeOf(String item)
    Returns the serialized size in bytes of a single unserialized item.
    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.
    Returns a human readable string of an item.

    Methods inherited from class org.apache.datasketches.common.ArrayOfItemsSerDe

    sizeOf

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ArrayOfUtf16StringsSerDe

      public ArrayOfUtf16StringsSerDe()
  • Method Details

    • 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:
    • 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.
    • toString

      public String toString(String item)
      Description copied from class: ArrayOfItemsSerDe
      Returns a human readable string of an item.
      Specified by:
      toString in class ArrayOfItemsSerDe<String>
      Parameters:
      item - a specific item
      Returns:
      a human readable string of an item.
    • getClassOfT

      public Class<String> getClassOfT()
      Description copied from class: ArrayOfItemsSerDe
      Returns the concrete class of type T
      Specified by:
      getClassOfT in class ArrayOfItemsSerDe<String>
      Returns:
      the concrete class of type T