Class GenericRowData
- java.lang.Object
-
- org.apache.flink.table.data.GenericRowData
-
- All Implemented Interfaces:
RowData
@PublicEvolving public final class GenericRowData extends Object implements RowData
An internal data structure representing data ofRowType
and other (possibly nested) structured types such asStructuredType
.GenericRowData
is a generic implementation ofRowData
which is backed by an array of JavaObject
. AGenericRowData
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 genericgetField(int)
or type-specific getters (such asgetInt(int)
). A field can be updated by the genericsetField(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
Constructors Constructor Description GenericRowData(int arity)
Creates an instance ofGenericRowData
with given number of fields.GenericRowData(RowKind kind, int arity)
Creates an instance ofGenericRowData
with given kind and number of fields.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object o)
int
getArity()
Returns the number of fields in this row.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.Object
getField(int pos)
Returns the field 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.RowKind
getRowKind()
Returns the kind of change that this row describes in a changelog.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 field is null at the given position.static GenericRowData
of(Object... values)
Creates an instance ofGenericRowData
with given field values.static GenericRowData
ofKind(RowKind kind, Object... values)
Creates an instance ofGenericRowData
with given kind and field values.void
setField(int pos, Object value)
Sets the field value at the given position.void
setRowKind(RowKind kind)
Sets the kind of change that this row describes in a changelog.String
toString()
-
-
-
Constructor Detail
-
GenericRowData
public GenericRowData(RowKind kind, int arity)
Creates an instance ofGenericRowData
with 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 ofGenericRowData
with given number of fields.Initially, all fields are set to null. By default, the row describes a
RowKind.INSERT
in a changelog.Note: All fields of the row must be internal data structures.
- Parameters:
arity
- number of fields
-
-
Method Detail
-
setField
public void setField(int pos, Object value)
Sets the field value at the given position.Note: The given field value must be an internal data structures. Otherwise the
GenericRowData
is corrupted and may throw exception when processing. SeeRowData
for more information about internal data structures.The field value can be null for representing nullability.
-
getField
public Object getField(int pos)
Returns the field value at the given position.Note: The returned value is in internal data structure. See
RowData
for more information about internal data structures.The returned field value can be null for representing nullability.
-
getArity
public int getArity()
Description copied from interface:RowData
Returns the number of fields in this row.The number does not include
RowKind
. It is kept separately.
-
getRowKind
public RowKind getRowKind()
Description copied from interface:RowData
Returns the kind of change that this row describes in a changelog.- Specified by:
getRowKind
in interfaceRowData
- See Also:
RowKind
-
setRowKind
public void setRowKind(RowKind kind)
Description copied from interface:RowData
Sets the kind of change that this row describes in a changelog.- Specified by:
setRowKind
in interfaceRowData
- See Also:
RowKind
-
isNullAt
public boolean isNullAt(int pos)
Description copied from interface:RowData
Returns true if the field is null at the given position.
-
getBoolean
public boolean getBoolean(int pos)
Description copied from interface:RowData
Returns the boolean value at the given position.- Specified by:
getBoolean
in interfaceRowData
-
getByte
public byte getByte(int pos)
Description copied from interface:RowData
Returns the byte value at the given position.
-
getShort
public short getShort(int pos)
Description copied from interface:RowData
Returns the short value at the given position.
-
getInt
public int getInt(int pos)
Description copied from interface:RowData
Returns the integer value at the given position.
-
getLong
public long getLong(int pos)
Description copied from interface:RowData
Returns the long value at the given position.
-
getFloat
public float getFloat(int pos)
Description copied from interface:RowData
Returns the float value at the given position.
-
getDouble
public double getDouble(int pos)
Description copied from interface:RowData
Returns the double value at the given position.
-
getString
public StringData getString(int pos)
Description copied from interface:RowData
Returns the string value at the given position.
-
getDecimal
public DecimalData getDecimal(int pos, int precision, int scale)
Description copied from interface:RowData
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 interfaceRowData
-
getTimestamp
public TimestampData getTimestamp(int pos, int precision)
Description copied from interface:RowData
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 interfaceRowData
-
getRawValue
public <T> RawValueData<T> getRawValue(int pos)
Description copied from interface:RowData
Returns the raw value at the given position.- Specified by:
getRawValue
in interfaceRowData
-
getBinary
public byte[] getBinary(int pos)
Description copied from interface:RowData
Returns the binary value at the given position.
-
getArray
public ArrayData getArray(int pos)
Description copied from interface:RowData
Returns the array value at the given position.
-
getMap
public MapData getMap(int pos)
Description copied from interface:RowData
Returns the map value at the given position.
-
getRow
public RowData getRow(int pos, int numFields)
Description copied from interface:RowData
Returns the row value at the given position.The number of fields is required to correctly extract the row.
-
of
public static GenericRowData of(Object... values)
Creates an instance ofGenericRowData
with given field values.By default, the row describes a
RowKind.INSERT
in a changelog.Note: All fields of the row must be internal data structures.
-
ofKind
public static GenericRowData ofKind(RowKind kind, Object... values)
Creates an instance ofGenericRowData
with given kind and field values.Note: All fields of the row must be internal data structures.
-
-