Class GenericArrayData
- java.lang.Object
-
- org.apache.flink.table.data.GenericArrayData
-
- All Implemented Interfaces:
ArrayData
@PublicEvolving public final class GenericArrayData extends Object implements ArrayData
An internal data structure representing data ofArrayType
.Note: All elements of this data structure must be internal data structures and must be of the same type. See
RowData
for more information about internal data structures.GenericArrayData
is a generic implementation ofArrayData
which wraps regular Java arrays.Every instance wraps a one-dimensional Java array. Non-primitive arrays can be used for representing element nullability. The Java array might be a primitive array such as
int[]
or an object array (i.e. instance ofObject[]
). Object arrays that contain boxed types (e.g.Integer
) MUST be boxed arrays (i.e.new Integer[]{1, 2, 3}
, notnew Object[]{1, 2, 3}
). For multidimensional arrays, an array ofGenericArrayData
MUST be passed. For example:// ARRAY < ARRAY < INT NOT NULL > > new GenericArrayData( new GenericArrayData[]{ new GenericArrayData(new int[3]), new GenericArrayData(new int[5]) } )
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.flink.table.data.ArrayData
ArrayData.ElementGetter
-
-
Constructor Summary
Constructors Constructor Description GenericArrayData(boolean[] primitiveArray)
GenericArrayData(byte[] primitiveArray)
GenericArrayData(double[] primitiveArray)
GenericArrayData(float[] primitiveArray)
GenericArrayData(int[] primitiveArray)
GenericArrayData(long[] primitiveArray)
GenericArrayData(short[] primitiveArray)
GenericArrayData(Object[] array)
Creates an instance ofGenericArrayData
using the given Java array.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
ArrayData
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.DecimalData
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.MapData
getMap(int pos)
Returns the map value at the given position.<T> RawValueData<T>
getRawValue(int pos)
Returns the raw value at the given position.RowData
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.StringData
getString(int pos)
Returns the string value at the given position.TimestampData
getTimestamp(int pos, int precision)
Returns the timestamp value at the given position.int
hashCode()
boolean
isNullAt(int pos)
Returns true if the element is null at the given position.boolean
isPrimitiveArray()
Returns true if this is a primitive array.int
size()
Returns the number of elements in this array.boolean[]
toBooleanArray()
byte[]
toByteArray()
double[]
toDoubleArray()
float[]
toFloatArray()
int[]
toIntArray()
long[]
toLongArray()
Object[]
toObjectArray()
Converts thisGenericArrayData
into an array of JavaObject
.short[]
toShortArray()
-
-
-
Constructor Detail
-
GenericArrayData
public GenericArrayData(Object[] array)
Creates an instance ofGenericArrayData
using the given Java array.Note: All elements of the array must be internal data structures.
-
GenericArrayData
public GenericArrayData(int[] primitiveArray)
-
GenericArrayData
public GenericArrayData(long[] primitiveArray)
-
GenericArrayData
public GenericArrayData(float[] primitiveArray)
-
GenericArrayData
public GenericArrayData(double[] primitiveArray)
-
GenericArrayData
public GenericArrayData(short[] primitiveArray)
-
GenericArrayData
public GenericArrayData(byte[] primitiveArray)
-
GenericArrayData
public GenericArrayData(boolean[] primitiveArray)
-
-
Method Detail
-
isPrimitiveArray
public boolean isPrimitiveArray()
Returns true if this is a primitive array.A primitive array is an array whose elements are of primitive type.
-
toObjectArray
public Object[] toObjectArray()
Converts thisGenericArrayData
into an array of JavaObject
.The method will convert a primitive array into an object array. But it will not convert internal data structures into external data structures (e.g.
StringData
toString
).
-
size
public int size()
Description copied from interface:ArrayData
Returns the number of elements in this array.
-
isNullAt
public boolean isNullAt(int pos)
Description copied from interface:ArrayData
Returns true if the element is null at the given position.
-
getBoolean
public boolean getBoolean(int pos)
Description copied from interface:ArrayData
Returns the boolean value at the given position.- Specified by:
getBoolean
in interfaceArrayData
-
getByte
public byte getByte(int pos)
Description copied from interface:ArrayData
Returns the byte value at the given position.
-
getShort
public short getShort(int pos)
Description copied from interface:ArrayData
Returns the short value at the given position.
-
getInt
public int getInt(int pos)
Description copied from interface:ArrayData
Returns the integer value at the given position.
-
getLong
public long getLong(int pos)
Description copied from interface:ArrayData
Returns the long value at the given position.
-
getFloat
public float getFloat(int pos)
Description copied from interface:ArrayData
Returns the float value at the given position.
-
getDouble
public double getDouble(int pos)
Description copied from interface:ArrayData
Returns the double value at the given position.
-
getBinary
public byte[] getBinary(int pos)
Description copied from interface:ArrayData
Returns the binary value at the given position.
-
getString
public StringData getString(int pos)
Description copied from interface:ArrayData
Returns the string value at the given position.
-
getDecimal
public DecimalData getDecimal(int pos, int precision, int scale)
Description copied from interface:ArrayData
Returns the decimal value at the given position.The precision and scale are required to determine whether the decimal value was stored in a compact representation (see
DecimalData
).- Specified by:
getDecimal
in interfaceArrayData
-
getTimestamp
public TimestampData getTimestamp(int pos, int precision)
Description copied from interface:ArrayData
Returns the timestamp value at the given position.The precision is required to determine whether the timestamp value was stored in a compact representation (see
TimestampData
).- Specified by:
getTimestamp
in interfaceArrayData
-
getRawValue
public <T> RawValueData<T> getRawValue(int pos)
Description copied from interface:ArrayData
Returns the raw value at the given position.- Specified by:
getRawValue
in interfaceArrayData
-
getRow
public RowData getRow(int pos, int numFields)
Description copied from interface:ArrayData
Returns the row value at the given position.The number of fields is required to correctly extract the row.
-
getArray
public ArrayData getArray(int pos)
Description copied from interface:ArrayData
Returns the array value at the given position.
-
getMap
public MapData getMap(int pos)
Description copied from interface:ArrayData
Returns the map value at the given position.
-
toBooleanArray
public boolean[] toBooleanArray()
- Specified by:
toBooleanArray
in interfaceArrayData
-
toByteArray
public byte[] toByteArray()
- Specified by:
toByteArray
in interfaceArrayData
-
toShortArray
public short[] toShortArray()
- Specified by:
toShortArray
in interfaceArrayData
-
toIntArray
public int[] toIntArray()
- Specified by:
toIntArray
in interfaceArrayData
-
toLongArray
public long[] toLongArray()
- Specified by:
toLongArray
in interfaceArrayData
-
toFloatArray
public float[] toFloatArray()
- Specified by:
toFloatArray
in interfaceArrayData
-
toDoubleArray
public double[] toDoubleArray()
- Specified by:
toDoubleArray
in interfaceArrayData
-
-