public class CastedArray extends Object implements InternalArray
InternalArray
which provides a casted view of the underlying InternalArray
.
It reads data from underlying InternalArray
according to source logical type and casts
it with specific CastExecutor
.
InternalArray.ElementGetter
Modifier | Constructor and Description |
---|---|
protected |
CastedArray(CastElementGetter castElementGetter) |
Modifier and Type | Method and Description |
---|---|
static CastedArray |
from(CastElementGetter castElementGetter)
Replaces the underlying
InternalArray backing this CastedArray . |
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.
|
boolean |
isNullAt(int pos)
Returns true if the element is null at the given position.
|
CastedArray |
replaceArray(InternalArray array) |
int |
size()
Returns the number of elements in this array.
|
boolean[] |
toBooleanArray() |
byte[] |
toByteArray() |
double[] |
toDoubleArray() |
float[] |
toFloatArray() |
int[] |
toIntArray() |
long[] |
toLongArray() |
short[] |
toShortArray() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createElementGetter
protected CastedArray(CastElementGetter castElementGetter)
public static CastedArray from(CastElementGetter castElementGetter)
InternalArray
backing this CastedArray
.
This method replaces the array in place and does not return a new object. This is done for performance reasons.
public CastedArray replaceArray(InternalArray array)
public int size()
InternalArray
size
in interface InternalArray
public boolean[] toBooleanArray()
toBooleanArray
in interface InternalArray
public byte[] toByteArray()
toByteArray
in interface InternalArray
public short[] toShortArray()
toShortArray
in interface InternalArray
public int[] toIntArray()
toIntArray
in interface InternalArray
public long[] toLongArray()
toLongArray
in interface InternalArray
public float[] toFloatArray()
toFloatArray
in interface InternalArray
public double[] toDoubleArray()
toDoubleArray
in interface InternalArray
public boolean isNullAt(int pos)
DataGetters
isNullAt
in interface DataGetters
public boolean getBoolean(int pos)
DataGetters
getBoolean
in interface DataGetters
public byte getByte(int pos)
DataGetters
getByte
in interface DataGetters
public short getShort(int pos)
DataGetters
getShort
in interface DataGetters
public int getInt(int pos)
DataGetters
getInt
in interface DataGetters
public long getLong(int pos)
DataGetters
getLong
in interface DataGetters
public float getFloat(int pos)
DataGetters
getFloat
in interface DataGetters
public double getDouble(int pos)
DataGetters
getDouble
in interface DataGetters
public BinaryString getString(int pos)
DataGetters
getString
in interface DataGetters
public Decimal getDecimal(int pos, int precision, int scale)
DataGetters
The precision and scale are required to determine whether the decimal value was stored in
a compact representation (see Decimal
).
getDecimal
in interface DataGetters
public Timestamp getTimestamp(int pos, int precision)
DataGetters
The precision is required to determine whether the timestamp value was stored in a compact
representation (see Timestamp
).
getTimestamp
in interface DataGetters
public byte[] getBinary(int pos)
DataGetters
getBinary
in interface DataGetters
public InternalArray getArray(int pos)
DataGetters
getArray
in interface DataGetters
public InternalMap getMap(int pos)
DataGetters
getMap
in interface DataGetters
public InternalRow getRow(int pos, int numFields)
DataGetters
The number of fields is required to correctly extract the row.
getRow
in interface DataGetters
Copyright © 2023–2024 The Apache Software Foundation. All rights reserved.