Class RowInfo


  • public class RowInfo
    extends java.lang.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
    • Constructor Summary

      Constructors 
      Constructor Description
      RowInfo​(ResultSetProps resultSetProps, VSTable table, java.sql.ResultSet resultSet, int[] vsColumnIndicies, Value.Type[] vsValueTypes, int[] sqlColumnIndicies, java.lang.Object[] sqlValues, Value[] vsValues)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void initialize​(int[] vsColumnIndicies, Value.Type[] vsValueTypes, int[] sqlColumnIndicies, java.lang.Object[] sqlValues, Value[] vsValues)
      Initializes this same instance for re-use to avoid garbage collection.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • table

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

        public final java.sql.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 java.lang.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 Detail

      • RowInfo

        public RowInfo​(ResultSetProps resultSetProps,
                       VSTable table,
                       java.sql.ResultSet resultSet,
                       int[] vsColumnIndicies,
                       Value.Type[] vsValueTypes,
                       int[] sqlColumnIndicies,
                       java.lang.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 Detail

      • initialize

        public void initialize​(int[] vsColumnIndicies,
                               Value.Type[] vsValueTypes,
                               int[] sqlColumnIndicies,
                               java.lang.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.