Class BinaryWriter

java.lang.Object
io.fury.format.row.binary.writer.BinaryWriter
Direct Known Subclasses:
BinaryArrayWriter, BinaryRowWriter

public abstract class BinaryWriter extends Object
Base class for writing row-format structures.
  • Field Details

  • Constructor Details

    • BinaryWriter

      protected BinaryWriter(MemoryBuffer buffer, int bytesBeforeBitMap)
  • Method Details

    • roundNumberOfBytesToNearestWord

      public static int roundNumberOfBytesToNearestWord(int numBytes)
    • getBuffer

      public final MemoryBuffer 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

      public abstract void write(int ordinal, BigDecimal input)
    • write

      public final void write(int ordinal, long value)
    • write

      public final void write(int ordinal, double value)
    • write

      public final void write(int ordinal, String input)
    • write

      public final void write(int ordinal, byte[] input)
    • write

      public final void write(int ordinal, BinaryRow row)
    • write

      public final void write(int ordinal, BinaryMap map)
    • write

      public final void write(int ordinal, BinaryArray array)
    • writeUnaligned

      public final void writeUnaligned(int ordinal, byte[] input, int offset, int numBytes)
      This operation will increase writerIndex by aligned 8-byte.
    • writeUnaligned

      public final void writeUnaligned(int ordinal, MemoryBuffer input, int offset, int numBytes)
      This operation will increase writerIndex by aligned 8-byte.
    • writeAlignedBytes

      public final void writeAlignedBytes(int ordinal, MemoryBuffer input, int baseOffset, int numBytes)
    • 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

      public final void copyTo(BinaryWriter writer, int ordinal)
    • setBuffer

      public final void setBuffer(MemoryBuffer buffer)