@Public public final class GenericRow extends Object implements InternalRow, Serializable
RowType.
GenericRow is a generic implementation of InternalRow which is backed by an
array of Java Object. A GenericRow 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 InternalRow for more information about internal data structures.
The fields in GenericRow can be null for representing nullability.
InternalRow.FieldGetter| Constructor and Description |
|---|
GenericRow(int arity)
Creates an instance of
GenericRow with given number of fields. |
GenericRow(RowKind kind,
int arity)
Creates an instance of
GenericRow with given kind and number of fields. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
equals(Object o) |
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.
|
Object |
getField(int pos)
Returns the field value at the given position.
|
int |
getFieldCount()
Returns the number of fields in this row.
|
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.
|
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.
|
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.
|
int |
hashCode() |
boolean |
isNullAt(int pos)
Returns true if the element is null at the given position.
|
static GenericRow |
of(Object... values)
Creates an instance of
GenericRow with given field values. |
static GenericRow |
ofKind(RowKind kind,
Object... values)
Creates an instance of
GenericRow 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() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitcreateFieldGetter, getDataClasspublic GenericRow(RowKind kind, int arity)
GenericRow 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.
kind - kind of change that this row describes in a changelogarity - number of fieldspublic GenericRow(int arity)
GenericRow 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.
arity - number of fieldspublic void setField(int pos,
Object value)
Note: The given field value must be an internal data structures. Otherwise the GenericRow is corrupted and may throw exception when processing. See InternalRow for
more information about internal data structures.
The field value can be null for representing nullability.
public Object getField(int pos)
Note: The returned value is in internal data structure. See InternalRow for more
information about internal data structures.
The returned field value can be null for representing nullability.
public int getFieldCount()
InternalRowThe number does not include RowKind. It is kept separately.
getFieldCount in interface InternalRowpublic RowKind getRowKind()
InternalRowgetRowKind in interface InternalRowRowKindpublic void setRowKind(RowKind kind)
InternalRowsetRowKind in interface InternalRowRowKindpublic boolean isNullAt(int pos)
DataGettersisNullAt in interface DataGetterspublic boolean getBoolean(int pos)
DataGettersgetBoolean in interface DataGetterspublic byte getByte(int pos)
DataGettersgetByte in interface DataGetterspublic short getShort(int pos)
DataGettersgetShort in interface DataGetterspublic int getInt(int pos)
DataGettersgetInt in interface DataGetterspublic long getLong(int pos)
DataGettersgetLong in interface DataGetterspublic float getFloat(int pos)
DataGettersgetFloat in interface DataGetterspublic double getDouble(int pos)
DataGettersgetDouble in interface DataGetterspublic BinaryString getString(int pos)
DataGettersgetString in interface DataGetterspublic Decimal getDecimal(int pos, int precision, int scale)
DataGettersThe precision and scale are required to determine whether the decimal value was stored in
a compact representation (see Decimal).
getDecimal in interface DataGetterspublic Timestamp getTimestamp(int pos, int precision)
DataGettersThe precision is required to determine whether the timestamp value was stored in a compact
representation (see Timestamp).
getTimestamp in interface DataGetterspublic byte[] getBinary(int pos)
DataGettersgetBinary in interface DataGetterspublic InternalArray getArray(int pos)
DataGettersgetArray in interface DataGetterspublic InternalMap getMap(int pos)
DataGettersgetMap in interface DataGetterspublic InternalRow getRow(int pos, int numFields)
DataGettersThe number of fields is required to correctly extract the row.
getRow in interface DataGetterspublic static GenericRow of(Object... values)
GenericRow 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.
public static GenericRow ofKind(RowKind kind, Object... values)
GenericRow with given kind and field values.
Note: All fields of the row must be internal data structures.
Copyright © 2023–2024 The Apache Software Foundation. All rights reserved.