Class SerializablePairLongStringSimpleStagedSerde
- java.lang.Object
-
- org.apache.druid.query.aggregation.AbstractSerializablePairLongObjectSimpleStagedSerde<SerializablePairLongString>
-
- org.apache.druid.query.aggregation.SerializablePairLongStringSimpleStagedSerde
-
- All Implemented Interfaces:
StagedSerde<SerializablePairLongString>
public class SerializablePairLongStringSimpleStagedSerde extends AbstractSerializablePairLongObjectSimpleStagedSerde<SerializablePairLongString>
serializes a Long/String pair as Long:Integer:bytesor Long:StringSize:StringData The StringSize can be following: -1 : Denotes an empty string 0 : Denotes a null string >0 : Denotes a non-empty string Mapping of null and empty string is done weirdly to preserve backward compatibility when nulls were returned all the time, and there was no distinction between empty and null string
-
-
Constructor Summary
Constructors Constructor Description SerializablePairLongStringSimpleStagedSerde()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SerializablePairLongStringdeserialize(ByteBuffer byteBuffer)StorableBufferserializeDelayed(SerializablePairLongString value)Useful method when some computation is necessary to prepare for serialization without actually writing out all the bytes in order to determine the serialized size.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.druid.segment.serde.cell.StagedSerde
deserialize, serialize
-
-
-
-
Method Detail
-
serializeDelayed
public StorableBuffer serializeDelayed(@Nullable SerializablePairLongString value)
Description copied from interface:StagedSerdeUseful method when some computation is necessary to prepare for serialization without actually writing out all the bytes in order to determine the serialized size. It allows encapsulation of the size computation and the final logical to actually store into a ByteBuffer. It also allows for callers to pack multiple serialized objects into a single ByteBuffer without extra copies of a byte[]/ByteBuffer by using theStorableBufferinstance returned- Specified by:
serializeDelayedin interfaceStagedSerde<SerializablePairLongString>- Overrides:
serializeDelayedin classAbstractSerializablePairLongObjectSimpleStagedSerde<SerializablePairLongString>- Parameters:
value- - object to serialize- Returns:
- an object that reports its serialized size and how to serialize the object to a ByteBuffer
-
deserialize
@Nullable public SerializablePairLongString deserialize(ByteBuffer byteBuffer)
-
-