Class GenericArrayData
- All Implemented Interfaces:
ArrayData
ArrayType.
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 of ArrayData 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 of Object[]). Object arrays that contain boxed types
(e.g. Integer) MUST be boxed arrays (i.e. new Integer[]{1, 2, 3}, not new
Object[]{1, 2, 3}). For multidimensional arrays, an array of GenericArrayData 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
ConstructorsConstructorDescriptionGenericArrayData(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 ofGenericArrayDatausing the given Java array. -
Method Summary
Modifier and TypeMethodDescriptionbooleangetArray(int pos) Returns the array value at the given position.byte[]getBinary(int pos) Returns the binary value at the given position.booleangetBoolean(int pos) Returns the boolean value at the given position.bytegetByte(int pos) Returns the byte value at the given position.getDecimal(int pos, int precision, int scale) Returns the decimal value at the given position.doublegetDouble(int pos) Returns the double value at the given position.floatgetFloat(int pos) Returns the float value at the given position.intgetInt(int pos) Returns the integer value at the given position.longgetLong(int pos) Returns the long value at the given position.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.getRow(int pos, int numFields) Returns the row value at the given position.shortgetShort(int pos) Returns the short value at the given position.getString(int pos) Returns the string value at the given position.getTimestamp(int pos, int precision) Returns the timestamp value at the given position.inthashCode()booleanisNullAt(int pos) Returns true if the element is null at the given position.booleanReturns true if this is a primitive array.intsize()Returns the number of elements in this array.boolean[]byte[]double[]float[]int[]long[]Object[]Converts thisGenericArrayDatainto an array of JavaObject.short[]
-
Constructor Details
-
GenericArrayData
Creates an instance ofGenericArrayDatausing 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 Details
-
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
Converts thisGenericArrayDatainto 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.
StringDatatoString). -
size
public int size()Description copied from interface:ArrayDataReturns the number of elements in this array. -
isNullAt
public boolean isNullAt(int pos) Description copied from interface:ArrayDataReturns true if the element is null at the given position. -
equals
-
hashCode
public int hashCode() -
getBoolean
public boolean getBoolean(int pos) Description copied from interface:ArrayDataReturns the boolean value at the given position.- Specified by:
getBooleanin interfaceArrayData
-
getByte
public byte getByte(int pos) Description copied from interface:ArrayDataReturns the byte value at the given position. -
getShort
public short getShort(int pos) Description copied from interface:ArrayDataReturns the short value at the given position. -
getInt
public int getInt(int pos) Description copied from interface:ArrayDataReturns the integer value at the given position. -
getLong
public long getLong(int pos) Description copied from interface:ArrayDataReturns the long value at the given position. -
getFloat
public float getFloat(int pos) Description copied from interface:ArrayDataReturns the float value at the given position. -
getDouble
public double getDouble(int pos) Description copied from interface:ArrayDataReturns the double value at the given position. -
getBinary
public byte[] getBinary(int pos) Description copied from interface:ArrayDataReturns the binary value at the given position. -
getString
Description copied from interface:ArrayDataReturns the string value at the given position. -
getDecimal
Description copied from interface:ArrayDataReturns 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:
getDecimalin interfaceArrayData
-
getTimestamp
Description copied from interface:ArrayDataReturns 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:
getTimestampin interfaceArrayData
-
getRawValue
Description copied from interface:ArrayDataReturns the raw value at the given position.- Specified by:
getRawValuein interfaceArrayData
-
getRow
Description copied from interface:ArrayDataReturns the row value at the given position.The number of fields is required to correctly extract the row.
-
getArray
Description copied from interface:ArrayDataReturns the array value at the given position. -
getMap
Description copied from interface:ArrayDataReturns the map value at the given position. -
toBooleanArray
public boolean[] toBooleanArray()- Specified by:
toBooleanArrayin interfaceArrayData
-
toByteArray
public byte[] toByteArray()- Specified by:
toByteArrayin interfaceArrayData
-
toShortArray
public short[] toShortArray()- Specified by:
toShortArrayin interfaceArrayData
-
toIntArray
public int[] toIntArray()- Specified by:
toIntArrayin interfaceArrayData
-
toLongArray
public long[] toLongArray()- Specified by:
toLongArrayin interfaceArrayData
-
toFloatArray
public float[] toFloatArray()- Specified by:
toFloatArrayin interfaceArrayData
-
toDoubleArray
public double[] toDoubleArray()- Specified by:
toDoubleArrayin interfaceArrayData
-