Package io.fury.format.row.binary
Class BinaryArray
java.lang.Object
io.fury.format.row.binary.BinaryArray
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidassertIndexIsValid(int ordinal) static intcalculateHeaderInBytes(int numElements) copy()static BinaryArrayfromPrimitiveArray(boolean[] arr) static BinaryArrayfromPrimitiveArray(byte[] arr) static BinaryArrayfromPrimitiveArray(double[] arr) static BinaryArrayfromPrimitiveArray(float[] arr) static BinaryArrayfromPrimitiveArray(int[] arr) static BinaryArrayfromPrimitiveArray(long[] arr) static BinaryArrayfromPrimitiveArray(short[] arr) getArray(int ordinal) intbyte[]getBinary(int ordinal) booleangetBoolean(int ordinal) getBuffer(int ordinal) bytegetByte(int ordinal) intgetDate(int ordinal) getDecimal(int ordinal) static int[]getDimensions(BinaryArray array, int numDimensions) doublegetDouble(int ordinal) org.apache.arrow.vector.types.pojo.FieldgetField()floatgetFloat(int ordinal) intgetInt(int ordinal) longgetLong(int ordinal) getMap(int ordinal) shortgetShort(int ordinal) intgetString(int ordinal) getStruct(int ordinal) longgetTimestamp(int ordinal) booleanisNullAt(int ordinal) intvoidpointTo(MemoryBuffer buffer, int offset, int sizeInBytes) voidsetBoolean(int ordinal, boolean value) voidsetByte(int ordinal, byte value) voidsetDate(int ordinal, int value) voidsetDecimal(int ordinal, BigDecimal value) voidsetDouble(int ordinal, double value) voidsetFloat(int ordinal, float value) voidsetInt(int ordinal, int value) voidsetLong(int ordinal, long value) voidsetNotNullAt(int ordinal) voidsetNullAt(int ordinal) voidsetShort(int ordinal, short value) voidsetTimestamp(int ordinal, long value) boolean[]byte[]double[]float[]int[]long[]short[]toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Constructor Details
-
BinaryArray
public BinaryArray(org.apache.arrow.vector.types.pojo.Field field)
-
-
Method Details
-
pointTo
-
getField
public org.apache.arrow.vector.types.pojo.Field getField() -
numElements
public int numElements()- Specified by:
numElementsin interfaceArrayData
-
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) -
isNullAt
public boolean isNullAt(int ordinal) -
getDecimal
- Specified by:
getDecimalin interfaceGetters
-
getStruct
-
getArray
-
getMap
-
setDecimal
- Specified by:
setDecimalin interfaceSetters
-
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
-
toString
-
fromPrimitiveArray
-
fromPrimitiveArray
-
fromPrimitiveArray
-
fromPrimitiveArray
-
fromPrimitiveArray
-
fromPrimitiveArray
-
fromPrimitiveArray
-
calculateHeaderInBytes
public static int calculateHeaderInBytes(int numElements) -
getDimensions
-
getBuffer
-
getBoolean
public boolean getBoolean(int ordinal) - Specified by:
getBooleanin interfaceGetters
-
getByte
public byte getByte(int ordinal) -
getShort
public short getShort(int ordinal) -
getInt
public int getInt(int ordinal) -
getLong
public long getLong(int ordinal) -
getFloat
public float getFloat(int ordinal) -
getDouble
public double getDouble(int ordinal) -
getDate
public int getDate(int ordinal) -
getTimestamp
public long getTimestamp(int ordinal) - Specified by:
getTimestampin interfaceGetters
-
getString
-
getBinary
public byte[] getBinary(int ordinal) -
setBoolean
public void setBoolean(int ordinal, boolean value) - Specified by:
setBooleanin interfaceSetters
-
setByte
public void setByte(int ordinal, byte value) -
setShort
public void setShort(int ordinal, short value) -
setInt
public void setInt(int ordinal, int value) -
setLong
public void setLong(int ordinal, long value) -
setFloat
public void setFloat(int ordinal, float value) -
setDouble
public void setDouble(int ordinal, double value) -
setDate
public void setDate(int ordinal, int value) -
setTimestamp
public void setTimestamp(int ordinal, long value) - Specified by:
setTimestampin interfaceSetters
-