Class RowInfo

java.lang.Object
com.iizix.db.api.RowInfo

public class RowInfo extends Object
Row data instance holding the values to process for a row. This instance is a data holder instance and serves as input/output for the row processor. The member array vsValues contains on input the suggested values to update the VirtualSpace row with. The row processor can modify this array's Value's to it's liking.

The VirtualSpace arrays vsValues and vsValueTypes are of the same size, i.e. the amount of columns in the VSTable.

The SQL arrays are of same sizes, i.e. the amount of ResultSetColumnProp's in the ResultSetProps.

It can happen that the VirtualSpace arrays have different lengths and ordering that the SQL arrays due to differences in their connections to each other. Values that are null i.e. unset after a call to IResultSetRowProcessor.processRow(RowInfo) will cause the VirtualSpace table row to get default values for new rows, and keep the old values when overwriting the table.

Author:
Christopher Mindus
  • Field Details

    • table

      public final VSTable table
      The VSTable connected to the result set.
    • resultSet

      public final ResultSet resultSet
      The SQL ResultSet instance.
    • resultSetProps

      public final ResultSetProps resultSetProps
      The result set properties for the transaction.
    • vsColumnIndicies

      public final int[] vsColumnIndicies
      The indicies of the VirtualSpace column of the row. An entry of -1 indicates that the result set column property is not connected to a VS column. This array contains zero-based indicies.

      Changes done to this array will not affect anything.

    • vsValueTypes

      public final Value.Type[] vsValueTypes
      The VirtualSpace Value types for the row. Changes done to this array will not affect anything. If a result set column is not connected to a VS column, the corresponding entry in the array will be null.

      Changes done to this array will not affect anything.

    • sqlColumnIndicies

      public final int[] sqlColumnIndicies
      The SQL column indicies are one-based values, 1=first column, etc.

      Changes to this array does not affect anything.

    • sqlValues

      public final Object[] sqlValues
      The SQL row values in their native form.

      Changes done to this array will not affect anything.

    • vsValues

      public final Value[] vsValues
      The row values. This array's entries can be modified.
  • Constructor Details

    • RowInfo

      public RowInfo(ResultSetProps resultSetProps, VSTable table, ResultSet resultSet, int[] vsColumnIndicies, Value.Type[] vsValueTypes, int[] sqlColumnIndicies, Object[] sqlValues, Value[] vsValues)
      Constructor.
      Parameters:
      resultSetProps - The result set properties
      table - The table.
      resultSet - The JDBC result set.
      vsColumnIndicies - The VS column indicies.
      vsValueTypes - The VS value types.
      sqlColumnIndicies - The indicies of the JDBC table columns.
      sqlValues - The values retrieved from a row in the table for the columns.
      vsValues - The converted VS values from the JDBC values.
  • Method Details

    • initialize

      public void initialize(int[] vsColumnIndicies, Value.Type[] vsValueTypes, int[] sqlColumnIndicies, Object[] sqlValues, Value[] vsValues)
      Initializes this same instance for re-use to avoid garbage collection.
      Parameters:
      vsColumnIndicies - The VS column indicies.
      vsValueTypes - The VS value types.
      sqlColumnIndicies - The indicies of the JDBC table columns.
      sqlValues - The values retrieved from a row in the table for the columns.
      vsValues - The converted VS values from the JDBC values.