Class ProjectedRowData

  • All Implemented Interfaces:
    RowData

    @PublicEvolving
    public class ProjectedRowData
    extends Object
    implements RowData
    An implementation of RowData which provides a projected view of the underlying RowData.

    Projection includes both reducing the accessible fields and reordering them.

    Note: This class supports only top-level projections, not nested projections.

    • Method Detail

      • replaceRow

        public ProjectedRowData replaceRow​(RowData row)
        Replaces the underlying RowData backing this ProjectedRowData.

        This method replaces the row data in place and does not return a new object. This is done for performance reasons.

      • 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.

        Specified by:
        getArity in interface RowData
      • getRowKind

        public org.apache.flink.types.RowKind getRowKind()
        Description copied from interface: RowData
        Returns the kind of change that this row describes in a changelog.
        Specified by:
        getRowKind in interface RowData
        See Also:
        RowKind
      • setRowKind

        public void setRowKind​(org.apache.flink.types.RowKind kind)
        Description copied from interface: RowData
        Sets the kind of change that this row describes in a changelog.
        Specified by:
        setRowKind in interface RowData
        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.
        Specified by:
        isNullAt in interface RowData
      • getBoolean

        public boolean getBoolean​(int pos)
        Description copied from interface: RowData
        Returns the boolean value at the given position.
        Specified by:
        getBoolean in interface RowData
      • getByte

        public byte getByte​(int pos)
        Description copied from interface: RowData
        Returns the byte value at the given position.
        Specified by:
        getByte in interface RowData
      • getShort

        public short getShort​(int pos)
        Description copied from interface: RowData
        Returns the short value at the given position.
        Specified by:
        getShort in interface RowData
      • getInt

        public int getInt​(int pos)
        Description copied from interface: RowData
        Returns the integer value at the given position.
        Specified by:
        getInt in interface RowData
      • getLong

        public long getLong​(int pos)
        Description copied from interface: RowData
        Returns the long value at the given position.
        Specified by:
        getLong in interface RowData
      • getFloat

        public float getFloat​(int pos)
        Description copied from interface: RowData
        Returns the float value at the given position.
        Specified by:
        getFloat in interface RowData
      • getDouble

        public double getDouble​(int pos)
        Description copied from interface: RowData
        Returns the double value at the given position.
        Specified by:
        getDouble in interface RowData
      • getString

        public StringData getString​(int pos)
        Description copied from interface: RowData
        Returns the string value at the given position.
        Specified by:
        getString in interface RowData
      • 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 interface RowData
      • 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 interface RowData
      • 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 interface RowData
      • getBinary

        public byte[] getBinary​(int pos)
        Description copied from interface: RowData
        Returns the binary value at the given position.
        Specified by:
        getBinary in interface RowData
      • getArray

        public ArrayData getArray​(int pos)
        Description copied from interface: RowData
        Returns the array value at the given position.
        Specified by:
        getArray in interface RowData
      • getMap

        public MapData getMap​(int pos)
        Description copied from interface: RowData
        Returns the map value at the given position.
        Specified by:
        getMap in interface RowData
      • 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.

        Specified by:
        getRow in interface RowData
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • from

        public static ProjectedRowData from​(int[] projection)
        Create an empty ProjectedRowData starting from a projection array.

        The array represents the mapping of the fields of the original DataType. For example, [0, 2, 1] specifies to include in the following order the 1st field, the 3rd field and the 2nd field of the row.

        See Also:
        Projection, ProjectedRowData