Class ArrayOfItemsSerDe<T>
java.lang.Object
org.apache.datasketches.common.ArrayOfItemsSerDe<T>
- Type Parameters:
T- Type of item
- Direct Known Subclasses:
ArrayOfBooleansSerDe, ArrayOfDoublesSerDe, ArrayOfLongsSerDe, ArrayOfNumbersSerDe, ArrayOfStringsSerDe, ArrayOfUtf16StringsSerDe
Base class for serializing and deserializing custom types.
- Author:
- Alexander Saydakov
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionT[]deserializeFromMemorySegment(MemorySegment seg, int numItems) Deserialize a contiguous sequence of serialized items from the given MemorySegment starting at a MemorySegment offset of zero and extending numItems.abstract T[]deserializeFromMemorySegment(MemorySegment seg, long offsetBytes, int numItems) Deserialize a contiguous sequence of serialized items from the given MemorySegment starting at the given MemorySegment offsetBytes and extending numItems.Returns the concrete class of type Tabstract 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 intsizeOf(MemorySegment seg, long offsetBytes, int numItems) Returns the serialized size in bytes of the number of contiguous serialized items in MemorySegment.abstract intReturns the serialized size in bytes of a single unserialized item.intReturns the serialized size in bytes of the array of items.abstract StringReturns a human readable string of an item.
-
Constructor Details
-
ArrayOfItemsSerDe
public ArrayOfItemsSerDe()No argument constructor.
-
-
Method Details
-
serializeToByteArray
Serialize a single unserialized item to a byte array.- Parameters:
item- the item to be serialized- Returns:
- serialized representation of the given item
-
serializeToByteArray
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
-
deserializeFromMemorySegment
Deserialize a contiguous sequence of serialized items from the given MemorySegment starting at a MemorySegment offset of zero and extending numItems.- Parameters:
seg- MemorySegment containing a contiguous sequence of serialized itemsnumItems- number of items in the contiguous serialized sequence.- Returns:
- array of deserialized items
- See Also:
-
deserializeFromMemorySegment
Deserialize a contiguous sequence of serialized items from the given MemorySegment starting at the given MemorySegment offsetBytes and extending numItems.- Parameters:
seg- MemorySegment containing a contiguous sequence of serialized itemsoffsetBytes- the starting offset in the given MemorySegment.numItems- number of items in the contiguous serialized sequence.- Returns:
- array of deserialized items
-
sizeOf
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
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
Returns the serialized size in bytes of the number of contiguous serialized items in MemorySegment. The capacity of the given MemorySegment can be much larger that the required size of the items.- Parameters:
seg- the given MemorySegment.offsetBytes- the starting offset in the given MemorySegment.numItems- the number of serialized items contained in the MemorySegment- Returns:
- the serialized size in bytes of the given number of items.
-
toString
-
getClassOfT
-