Package io.fury.format.row.binary.writer
Class BinaryWriter
java.lang.Object
io.fury.format.row.binary.writer.BinaryWriter
- Direct Known Subclasses:
BinaryArrayWriter,BinaryRowWriter
Base class for writing row-format structures.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected MemoryBufferprotected final List<BinaryWriter> protected int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidcopyTo(BinaryWriter writer, int ordinal) final MemoryBufferabstract intgetOffset(int ordinal) final intprotected final voidgrow(int neededSize) final voidincreaseWriterIndex(int val) final voidincreaseWriterIndexToAligned(int val) final booleanisNullAt(int ordinal) static introundNumberOfBytesToNearestWord(int numBytes) final voidsetBuffer(MemoryBuffer buffer) final voidsetNotNullAt(int ordinal) final voidsetNullAt(int ordinal) Since writer is used for one-pass writer, same field won't be writer twice.final voidsetOffsetAndSize(int ordinal, int size) final voidsetOffsetAndSize(int ordinal, int absoluteOffset, int size) final intsize()abstract voidwrite(int ordinal, boolean value) abstract voidwrite(int ordinal, byte value) final voidwrite(int ordinal, byte[] input) final voidwrite(int ordinal, double value) abstract voidwrite(int ordinal, float value) abstract voidwrite(int ordinal, int value) final voidwrite(int ordinal, long value) abstract voidwrite(int ordinal, short value) final voidwrite(int ordinal, BinaryArray array) final voidfinal voidfinal voidabstract voidwrite(int ordinal, BigDecimal input) final voidwriteAlignedBytes(int ordinal, MemoryBuffer input, int baseOffset, int numBytes) protected final voidwriteDecimal(int ordinal, BigDecimal value, org.apache.arrow.vector.types.pojo.ArrowType.Decimal type) final voidwriteDirectly(int offset, long value) write long value to position pointed by offset.final voidwriteDirectly(long value) write long value to position pointed by current writerIndex.final intfinal voidwriteUnaligned(int ordinal, byte[] input, int offset, int numBytes) This operation will increase writerIndex by aligned 8-byte.final voidwriteUnaligned(int ordinal, MemoryBuffer input, int offset, int numBytes) This operation will increase writerIndex by aligned 8-byte.protected final voidzeroOutPaddingBytes(int numBytes) if numBytes is not multiple of 8, zero 8 byte until multiple of 8.
-
Field Details
-
buffer
-
startIndex
protected int startIndex -
children
-
-
Constructor Details
-
BinaryWriter
-
-
Method Details
-
roundNumberOfBytesToNearestWord
public static int roundNumberOfBytesToNearestWord(int numBytes) -
getBuffer
-
writerIndex
public final int writerIndex() -
size
public final int size() -
getStartIndex
public final int getStartIndex() -
increaseWriterIndex
public final void increaseWriterIndex(int val) -
increaseWriterIndexToAligned
public final void increaseWriterIndexToAligned(int val) -
grow
protected final void grow(int neededSize) -
setOffsetAndSize
public final void setOffsetAndSize(int ordinal, int size) -
setOffsetAndSize
public final void setOffsetAndSize(int ordinal, int absoluteOffset, int size) -
zeroOutPaddingBytes
protected final void zeroOutPaddingBytes(int numBytes) if numBytes is not multiple of 8, zero 8 byte until multiple of 8. -
setNullAt
public final void setNullAt(int ordinal) Since writer is used for one-pass writer, same field won't be writer twice. There is no need to put zero into the corresponding field when set null. -
setNotNullAt
public final void setNotNullAt(int ordinal) -
isNullAt
public final boolean isNullAt(int ordinal) -
getOffset
public abstract int getOffset(int ordinal) -
write
public abstract void write(int ordinal, byte value) -
write
public abstract void write(int ordinal, boolean value) -
write
public abstract void write(int ordinal, short value) -
write
public abstract void write(int ordinal, int value) -
write
public abstract void write(int ordinal, float value) -
write
-
write
public final void write(int ordinal, long value) -
write
public final void write(int ordinal, double value) -
write
-
write
public final void write(int ordinal, byte[] input) -
write
-
write
-
write
-
writeUnaligned
public final void writeUnaligned(int ordinal, byte[] input, int offset, int numBytes) This operation will increase writerIndex by aligned 8-byte. -
writeUnaligned
This operation will increase writerIndex by aligned 8-byte. -
writeAlignedBytes
-
writeDecimal
protected final void writeDecimal(int ordinal, BigDecimal value, org.apache.arrow.vector.types.pojo.ArrowType.Decimal type) -
writeDirectly
public final void writeDirectly(long value) write long value to position pointed by current writerIndex. -
writeDirectly
public final void writeDirectly(int offset, long value) write long value to position pointed by offset. -
copyTo
-
setBuffer
-