Class GenericRowData
- All Implemented Interfaces:
RowData
RowType and other (possibly nested)
structured types such as StructuredType.
GenericRowData is a generic implementation of RowData which is backed by an
array of Java Object. A GenericRowData can have an arbitrary number of fields of
different types. The fields in a row can be accessed by position (0-based) using either the
generic getField(int) or type-specific getters (such as getInt(int)). A field
can be updated by the generic setField(int, Object).
Note: All fields of this data structure must be internal data structures. See RowData
for more information about internal data structures.
The fields in GenericRowData can be null for representing nullability.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.flink.table.data.RowData
RowData.FieldGetter -
Constructor Summary
ConstructorsConstructorDescriptionGenericRowData(int arity) Creates an instance ofGenericRowDatawith given number of fields.GenericRowData(org.apache.flink.types.RowKind kind, int arity) Creates an instance ofGenericRowDatawith given kind and number of fields. -
Method Summary
Modifier and TypeMethodDescriptionbooleanintgetArity()Returns the number of fields in this row.getArray(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.getField(int pos) Returns the field 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.org.apache.flink.types.RowKindReturns the kind of change that this row describes in a changelog.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 field is null at the given position.static GenericRowDataCreates an instance ofGenericRowDatawith given field values.static GenericRowDataCreates an instance ofGenericRowDatawith given kind and field values.voidSets the field value at the given position.voidsetRowKind(org.apache.flink.types.RowKind kind) Sets the kind of change that this row describes in a changelog.toString()
-
Constructor Details
-
GenericRowData
public GenericRowData(org.apache.flink.types.RowKind kind, int arity) Creates an instance ofGenericRowDatawith given kind and number of fields.Initially, all fields are set to null.
Note: All fields of the row must be internal data structures.
- Parameters:
kind- kind of change that this row describes in a changelogarity- number of fields
-
GenericRowData
public GenericRowData(int arity) Creates an instance ofGenericRowDatawith given number of fields.Initially, all fields are set to null. By default, the row describes a
RowKind.INSERTin a changelog.Note: All fields of the row must be internal data structures.
- Parameters:
arity- number of fields
-
-
Method Details
-
setField
Sets the field value at the given position.Note: The given field value must be an internal data structures. Otherwise the
GenericRowDatais corrupted and may throw exception when processing. SeeRowDatafor more information about internal data structures.The field value can be null for representing nullability.
-
getField
Returns the field value at the given position.Note: The returned value is in internal data structure. See
RowDatafor more information about internal data structures.The returned field value can be null for representing nullability.
-
getArity
public int getArity()Description copied from interface:RowDataReturns the number of fields in this row.The number does not include
RowKind. It is kept separately. -
getRowKind
public org.apache.flink.types.RowKind getRowKind()Description copied from interface:RowDataReturns the kind of change that this row describes in a changelog.- Specified by:
getRowKindin interfaceRowData- See Also:
-
RowKind
-
setRowKind
public void setRowKind(org.apache.flink.types.RowKind kind) Description copied from interface:RowDataSets the kind of change that this row describes in a changelog.- Specified by:
setRowKindin interfaceRowData- See Also:
-
RowKind
-
isNullAt
public boolean isNullAt(int pos) Description copied from interface:RowDataReturns true if the field is null at the given position. -
getBoolean
public boolean getBoolean(int pos) Description copied from interface:RowDataReturns the boolean value at the given position.- Specified by:
getBooleanin interfaceRowData
-
getByte
public byte getByte(int pos) Description copied from interface:RowDataReturns the byte value at the given position. -
getShort
public short getShort(int pos) Description copied from interface:RowDataReturns the short value at the given position. -
getInt
public int getInt(int pos) Description copied from interface:RowDataReturns the integer value at the given position. -
getLong
public long getLong(int pos) Description copied from interface:RowDataReturns the long value at the given position. -
getFloat
public float getFloat(int pos) Description copied from interface:RowDataReturns the float value at the given position. -
getDouble
public double getDouble(int pos) Description copied from interface:RowDataReturns the double value at the given position. -
getString
Description copied from interface:RowDataReturns the string value at the given position. -
getDecimal
Description copied from interface:RowDataReturns 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 interfaceRowData
-
getTimestamp
Description copied from interface:RowDataReturns 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 interfaceRowData
-
getRawValue
Description copied from interface:RowDataReturns the raw value at the given position.- Specified by:
getRawValuein interfaceRowData
-
getBinary
public byte[] getBinary(int pos) Description copied from interface:RowDataReturns the binary value at the given position. -
getArray
Description copied from interface:RowDataReturns the array value at the given position. -
getMap
Description copied from interface:RowDataReturns the map value at the given position. -
getRow
Description copied from interface:RowDataReturns the row value at the given position.The number of fields is required to correctly extract the row.
-
equals
-
hashCode
public int hashCode() -
toString
-
of
Creates an instance ofGenericRowDatawith given field values.By default, the row describes a
RowKind.INSERTin a changelog.Note: All fields of the row must be internal data structures.
-
ofKind
Creates an instance ofGenericRowDatawith given kind and field values.Note: All fields of the row must be internal data structures.
-