public class ProjectedArray extends Object implements InternalArray
InternalArray which provides a projected view of the underlying
InternalArray.
Projection includes both reducing the accessible fields and reordering them.
Note: This class supports only top-level projections, not nested projections.
InternalArray.ElementGetter| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object o) |
static ProjectedArray |
from(int[] projection)
Create an empty
ProjectedArray starting from a projection array. |
InternalArray |
getArray(int pos)
Returns the array value at the given position.
|
byte[] |
getBinary(int pos)
Returns the binary value at the given position.
|
boolean |
getBoolean(int pos)
Returns the boolean value at the given position.
|
byte |
getByte(int pos)
Returns the byte value at the given position.
|
Decimal |
getDecimal(int pos,
int precision,
int scale)
Returns the decimal value at the given position.
|
double |
getDouble(int pos)
Returns the double value at the given position.
|
float |
getFloat(int pos)
Returns the float value at the given position.
|
int |
getInt(int pos)
Returns the integer value at the given position.
|
long |
getLong(int pos)
Returns the long value at the given position.
|
InternalMap |
getMap(int pos)
Returns the map value at the given position.
|
InternalRow |
getRow(int pos,
int numFields)
Returns the row value at the given position.
|
short |
getShort(int pos)
Returns the short value at the given position.
|
BinaryString |
getString(int pos)
Returns the string value at the given position.
|
Timestamp |
getTimestamp(int pos,
int precision)
Returns the timestamp value at the given position.
|
Variant |
getVariant(int pos)
Returns the variant value at the given position.
|
int |
hashCode() |
boolean |
isNullAt(int pos)
Returns true if the element is null at the given position.
|
ProjectedArray |
replaceArray(InternalArray array)
Replaces the underlying
InternalArray backing this ProjectedArray. |
int |
size()
Returns the number of elements in this array.
|
boolean[] |
toBooleanArray() |
byte[] |
toByteArray() |
double[] |
toDoubleArray() |
float[] |
toFloatArray() |
int[] |
toIntArray() |
long[] |
toLongArray() |
short[] |
toShortArray() |
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitcreateElementGetterpublic ProjectedArray replaceArray(InternalArray array)
InternalArray backing this ProjectedArray.
This method replaces the row data in place and does not return a new object. This is done for performance reasons.
public int size()
InternalArraysize in interface InternalArraypublic boolean isNullAt(int pos)
DataGettersisNullAt in interface DataGetterspublic boolean getBoolean(int pos)
DataGettersgetBoolean in interface DataGetterspublic byte getByte(int pos)
DataGettersgetByte in interface DataGetterspublic short getShort(int pos)
DataGettersgetShort in interface DataGetterspublic int getInt(int pos)
DataGettersgetInt in interface DataGetterspublic long getLong(int pos)
DataGettersgetLong in interface DataGetterspublic float getFloat(int pos)
DataGettersgetFloat in interface DataGetterspublic double getDouble(int pos)
DataGettersgetDouble in interface DataGetterspublic BinaryString getString(int pos)
DataGettersgetString in interface DataGetterspublic Decimal getDecimal(int pos, int precision, int scale)
DataGettersThe precision and scale are required to determine whether the decimal value was stored in
a compact representation (see Decimal).
getDecimal in interface DataGetterspublic Timestamp getTimestamp(int pos, int precision)
DataGettersThe precision is required to determine whether the timestamp value was stored in a compact
representation (see Timestamp).
getTimestamp in interface DataGetterspublic byte[] getBinary(int pos)
DataGettersgetBinary in interface DataGetterspublic Variant getVariant(int pos)
DataGettersgetVariant in interface DataGetterspublic InternalArray getArray(int pos)
DataGettersgetArray in interface DataGetterspublic InternalMap getMap(int pos)
DataGettersgetMap in interface DataGetterspublic InternalRow getRow(int pos, int numFields)
DataGettersThe number of fields is required to correctly extract the row.
getRow in interface DataGetterspublic static ProjectedArray from(int[] projection)
ProjectedArray starting from a projection array.
The array represents the mapping of the fields of the original DataType. For
example, [0, 2, 1] specifies to include in the following order the 1st field, the 3rd
field and the 2nd field of the row.
Projection,
ProjectedArraypublic boolean[] toBooleanArray()
toBooleanArray in interface InternalArraypublic byte[] toByteArray()
toByteArray in interface InternalArraypublic short[] toShortArray()
toShortArray in interface InternalArraypublic int[] toIntArray()
toIntArray in interface InternalArraypublic long[] toLongArray()
toLongArray in interface InternalArraypublic float[] toFloatArray()
toFloatArray in interface InternalArraypublic double[] toDoubleArray()
toDoubleArray in interface InternalArrayCopyright © 2023–2025 The Apache Software Foundation. All rights reserved.