Class BinaryArray

java.lang.Object
io.fury.format.row.binary.BinaryArray
All Implemented Interfaces:
ArrayData, Getters, Setters

public class BinaryArray extends Object implements ArrayData
Each array has four parts(8-byte aligned): [numElements][validity bits][values or offsetinvalid input: '&length'][variable length portion]

numElements is int, but use 8-byte to align

Primitive type is always considered to be not null.

  • Constructor Details

    • BinaryArray

      public BinaryArray(org.apache.arrow.vector.types.pojo.Field field)
  • Method Details

    • pointTo

      public void pointTo(MemoryBuffer buffer, int offset, int sizeInBytes)
    • getField

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

      public int numElements()
      Specified by:
      numElements in interface ArrayData
    • getBuffer

      public MemoryBuffer getBuffer()
    • getSizeInBytes

      public int getSizeInBytes()
    • getBaseOffset

      public int getBaseOffset()
    • assertIndexIsValid

      public void assertIndexIsValid(int ordinal)
    • setNotNullAt

      public void setNotNullAt(int ordinal)
    • setNullAt

      public void setNullAt(int ordinal)
      Specified by:
      setNullAt in interface Setters
    • isNullAt

      public boolean isNullAt(int ordinal)
      Specified by:
      isNullAt in interface Getters
    • getDecimal

      public BigDecimal getDecimal(int ordinal)
      Specified by:
      getDecimal in interface Getters
    • getStruct

      public BinaryRow getStruct(int ordinal)
      Specified by:
      getStruct in interface Getters
    • getArray

      public BinaryArray getArray(int ordinal)
      Specified by:
      getArray in interface Getters
    • getMap

      public BinaryMap getMap(int ordinal)
      Specified by:
      getMap in interface Getters
    • setDecimal

      public void setDecimal(int ordinal, BigDecimal value)
      Specified by:
      setDecimal in interface Setters
    • toBooleanArray

      public boolean[] toBooleanArray()
    • toByteArray

      public byte[] toByteArray()
    • toShortArray

      public short[] toShortArray()
    • toIntArray

      public int[] toIntArray()
    • toLongArray

      public long[] toLongArray()
    • toFloatArray

      public float[] toFloatArray()
    • toDoubleArray

      public double[] toDoubleArray()
    • copy

      public ArrayData copy()
      Specified by:
      copy in interface ArrayData
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • fromPrimitiveArray

      public static BinaryArray fromPrimitiveArray(byte[] arr)
    • fromPrimitiveArray

      public static BinaryArray fromPrimitiveArray(boolean[] arr)
    • fromPrimitiveArray

      public static BinaryArray fromPrimitiveArray(short[] arr)
    • fromPrimitiveArray

      public static BinaryArray fromPrimitiveArray(int[] arr)
    • fromPrimitiveArray

      public static BinaryArray fromPrimitiveArray(long[] arr)
    • fromPrimitiveArray

      public static BinaryArray fromPrimitiveArray(float[] arr)
    • fromPrimitiveArray

      public static BinaryArray fromPrimitiveArray(double[] arr)
    • calculateHeaderInBytes

      public static int calculateHeaderInBytes(int numElements)
    • getDimensions

      public static int[] getDimensions(BinaryArray array, int numDimensions)
    • getBuffer

      public MemoryBuffer getBuffer(int ordinal)
      Specified by:
      getBuffer in interface Getters
    • getBoolean

      public boolean getBoolean(int ordinal)
      Specified by:
      getBoolean in interface Getters
    • getByte

      public byte getByte(int ordinal)
      Specified by:
      getByte in interface Getters
    • getShort

      public short getShort(int ordinal)
      Specified by:
      getShort in interface Getters
    • getInt

      public int getInt(int ordinal)
      Specified by:
      getInt in interface Getters
    • getLong

      public long getLong(int ordinal)
      Specified by:
      getLong in interface Getters
    • getFloat

      public float getFloat(int ordinal)
      Specified by:
      getFloat in interface Getters
    • getDouble

      public double getDouble(int ordinal)
      Specified by:
      getDouble in interface Getters
    • getDate

      public int getDate(int ordinal)
      Specified by:
      getDate in interface Getters
    • getTimestamp

      public long getTimestamp(int ordinal)
      Specified by:
      getTimestamp in interface Getters
    • getString

      public String getString(int ordinal)
      Specified by:
      getString in interface Getters
    • getBinary

      public byte[] getBinary(int ordinal)
      Specified by:
      getBinary in interface Getters
    • setBoolean

      public void setBoolean(int ordinal, boolean value)
      Specified by:
      setBoolean in interface Setters
    • setByte

      public void setByte(int ordinal, byte value)
      Specified by:
      setByte in interface Setters
    • setShort

      public void setShort(int ordinal, short value)
      Specified by:
      setShort in interface Setters
    • setInt

      public void setInt(int ordinal, int value)
      Specified by:
      setInt in interface Setters
    • setLong

      public void setLong(int ordinal, long value)
      Specified by:
      setLong in interface Setters
    • setFloat

      public void setFloat(int ordinal, float value)
      Specified by:
      setFloat in interface Setters
    • setDouble

      public void setDouble(int ordinal, double value)
      Specified by:
      setDouble in interface Setters
    • setDate

      public void setDate(int ordinal, int value)
      Specified by:
      setDate in interface Setters
    • setTimestamp

      public void setTimestamp(int ordinal, long value)
      Specified by:
      setTimestamp in interface Setters