Package io.fury.format.row.binary.writer
Class BinaryArrayWriter
java.lang.Object
io.fury.format.row.binary.writer.BinaryWriter
io.fury.format.row.binary.writer.BinaryArrayWriter
Writer for binary array. See
BinaryArray
Must call reset(numElements) before use this writer to writer an array every time.
Must call reset(numElements) before call fromPrimitiveArray methods, so we can write multiple primitive array into one binary array, and keep api consistent, rather call reset in fromPrimitiveArray.
-
Field Summary
FieldsFields inherited from class io.fury.format.row.binary.writer.BinaryWriter
buffer, children, startIndex -
Constructor Summary
ConstructorsConstructorDescriptionBinaryArrayWriter(org.apache.arrow.vector.types.pojo.Field field) Must call reset before using writer constructed by this constructor.BinaryArrayWriter(org.apache.arrow.vector.types.pojo.Field field, BinaryWriter writer) Write data to writer's buffer. -
Method Summary
Modifier and TypeMethodDescriptionvoidfromPrimitiveArray(boolean[] arr) voidfromPrimitiveArray(byte[] arr) voidfromPrimitiveArray(double[] arr) voidfromPrimitiveArray(float[] arr) voidfromPrimitiveArray(int[] arr) voidfromPrimitiveArray(long[] arr) voidfromPrimitiveArray(short[] arr) org.apache.arrow.vector.types.pojo.FieldgetField()intgetOffset(int ordinal) voidreset(int numElements) reset BinaryArrayWriter(ArrayType type, BinaryWriter writer) increase writerIndex, which increase writer's writerIndex, we need to record writer's writerIndex before call reset, so we can call writer'ssetOffsetAndSize(int ordinal, int absoluteOffset, int size)Reset will change writerIndex, please use it very carefully.toArray()voidwrite(int ordinal, boolean value) voidwrite(int ordinal, byte value) voidwrite(int ordinal, float value) voidwrite(int ordinal, int value) voidwrite(int ordinal, short value) voidwrite(int ordinal, BigDecimal value) Methods inherited from class io.fury.format.row.binary.writer.BinaryWriter
copyTo, getBuffer, getStartIndex, grow, increaseWriterIndex, increaseWriterIndexToAligned, isNullAt, roundNumberOfBytesToNearestWord, setBuffer, setNotNullAt, setNullAt, setOffsetAndSize, setOffsetAndSize, size, write, write, write, write, write, write, write, writeAlignedBytes, writeDecimal, writeDirectly, writeDirectly, writerIndex, writeUnaligned, writeUnaligned, zeroOutPaddingBytes
-
Field Details
-
MAX_ROUNDED_ARRAY_LENGTH
public static int MAX_ROUNDED_ARRAY_LENGTH
-
-
Constructor Details
-
BinaryArrayWriter
public BinaryArrayWriter(org.apache.arrow.vector.types.pojo.Field field) Must call reset before using writer constructed by this constructor. -
BinaryArrayWriter
Write data to writer's buffer.Must call reset before using writer constructed by this constructor
-
-
Method Details
-
reset
public void reset(int numElements) reset BinaryArrayWriter(ArrayType type, BinaryWriter writer) increase writerIndex, which increase writer's writerIndex, we need to record writer's writerIndex before call reset, so we can call writer'ssetOffsetAndSize(int ordinal, int absoluteOffset, int size)Reset will change writerIndex, please use it very carefully. -
getOffset
public int getOffset(int ordinal) - Specified by:
getOffsetin classBinaryWriter
-
write
public void write(int ordinal, byte value) - Specified by:
writein classBinaryWriter
-
write
public void write(int ordinal, boolean value) - Specified by:
writein classBinaryWriter
-
write
public void write(int ordinal, short value) - Specified by:
writein classBinaryWriter
-
write
public void write(int ordinal, int value) - Specified by:
writein classBinaryWriter
-
write
public void write(int ordinal, float value) - Specified by:
writein classBinaryWriter
-
write
- Specified by:
writein classBinaryWriter
-
fromPrimitiveArray
public void fromPrimitiveArray(byte[] arr) -
fromPrimitiveArray
public void fromPrimitiveArray(boolean[] arr) -
fromPrimitiveArray
public void fromPrimitiveArray(short[] arr) -
fromPrimitiveArray
public void fromPrimitiveArray(int[] arr) -
fromPrimitiveArray
public void fromPrimitiveArray(long[] arr) -
fromPrimitiveArray
public void fromPrimitiveArray(float[] arr) -
fromPrimitiveArray
public void fromPrimitiveArray(double[] arr) -
toArray
-
getField
public org.apache.arrow.vector.types.pojo.Field getField()
-