Class BinaryArrayWriter

java.lang.Object
io.fury.format.row.binary.writer.BinaryWriter
io.fury.format.row.binary.writer.BinaryArrayWriter

public class BinaryArrayWriter extends BinaryWriter
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 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

      public BinaryArrayWriter(org.apache.arrow.vector.types.pojo.Field field, BinaryWriter writer)
      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's setOffsetAndSize(int ordinal, int absoluteOffset, int size) Reset will change writerIndex, please use it very carefully.
    • getOffset

      public int getOffset(int ordinal)
      Specified by:
      getOffset in class BinaryWriter
    • write

      public void write(int ordinal, byte value)
      Specified by:
      write in class BinaryWriter
    • write

      public void write(int ordinal, boolean value)
      Specified by:
      write in class BinaryWriter
    • write

      public void write(int ordinal, short value)
      Specified by:
      write in class BinaryWriter
    • write

      public void write(int ordinal, int value)
      Specified by:
      write in class BinaryWriter
    • write

      public void write(int ordinal, float value)
      Specified by:
      write in class BinaryWriter
    • write

      public void write(int ordinal, BigDecimal value)
      Specified by:
      write in class BinaryWriter
    • 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

      public BinaryArray toArray()
    • getField

      public org.apache.arrow.vector.types.pojo.Field getField()