## org.jfree.report.modules.misc.tablemodel
Class ResultSetTableModelFactory

    java.lang.Object
      org.jfree.report.modules.misc.tablemodel.ResultSetTableModelFactory

    public final class ResultSetTableModelFactory

extends java.lang.Object

Creates a `TableModel` which is backed up by a `ResultSet`. If the `ResultSet` is scrollable, a `ScrollableResultSetTableModel` is created, otherwise all data is copied from the `ResultSet` into a `DefaultTableModel`.

The creation of a `DefaultTableModel` can be forced if the system property `"org.jfree.report.modules.misc.tablemodel.TableFactoryMode"` is set to `"simple"`.

Author:
  Thomas Morgner

Field Summary
`static java.lang.String` `COLUMN_NAME_MAPPING_KEY` The configuration key defining how to map column names to column indices.
`static java.lang.String` `RESULTSET_FACTORY_MODE` The 'ResultSet factory mode'.

Method Summary
`CloseableTableModel` `createTableModel(java.sql.ResultSet rs)` Creates a table model by using the given `ResultSet` as the backend.
`CloseableTableModel` `createTableModel(java.sql.ResultSet rs, boolean labelMapping)` Creates a table model by using the given `ResultSet` as the backend.
`CloseableTableModel` `generateDefaultTableModel(java.sql.ResultSet rs)` Generates a `TableModel` that gets its contents filled from a `ResultSet`.
`CloseableTableModel` `generateDefaultTableModel(java.sql.ResultSet rs, boolean labelMapping)` Generates a `TableModel` that gets its contents filled from a `ResultSet`.
`static ResultSetTableModelFactory` `getInstance()` Returns the singleton instance of the factory.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### COLUMN_NAME_MAPPING_KEY

    public static final java.lang.String COLUMN_NAME_MAPPING_KEY

  The configuration key defining how to map column names to column indices.

  See Also:
    Constant Field Values

### RESULTSET_FACTORY_MODE

    public static final java.lang.String RESULTSET_FACTORY_MODE

  The 'ResultSet factory mode'.

  See Also:
    Constant Field Values

Method Detail

### createTableModel

    public CloseableTableModel createTableModel(java.sql.ResultSet rs)
                                         throws java.sql.SQLException

  Creates a table model by using the given `ResultSet` as the backend. If the `ResultSet` is scrollable (the type is not `TYPE_FORWARD_ONLY`), an instance of `ScrollableResultSetTableModel` is returned. This model uses the extended capabilities of scrollable resultsets to directly read data from the database without caching or the need of copying the complete `ResultSet` into the programs memory.

  If the `ResultSet` lacks the scollable features, the data will be copied into a `DefaultTableModel` and the `ResultSet` gets closed.

  Parameters:
    `rs` - the result set.
  Returns:
    a closeable table model.
  Throws:
    `java.sql.SQLException` - if there is a problem with the result set.

### createTableModel

    public CloseableTableModel createTableModel(java.sql.ResultSet rs,
                                                boolean labelMapping)
                                         throws java.sql.SQLException

  Creates a table model by using the given `ResultSet` as the backend. If the `ResultSet` is scrollable (the type is not `TYPE_FORWARD_ONLY`), an instance of `ScrollableResultSetTableModel` is returned. This model uses the extended capabilities of scrollable resultsets to directly read data from the database without caching or the need of copying the complete `ResultSet` into the programs memory.

  If the `ResultSet` lacks the scollable features, the data will be copied into a `DefaultTableModel` and the `ResultSet` gets closed.

  Parameters:
    `rs` - the result set.
    `labelMapping` - defines, whether to use column names or column labels to compute the column index.
  Returns:
    a closeable table model.
  Throws:
    `java.sql.SQLException` - if there is a problem with the result set.

### generateDefaultTableModel

    public CloseableTableModel generateDefaultTableModel(java.sql.ResultSet rs)
                                                  throws java.sql.SQLException

  Generates a `TableModel` that gets its contents filled from a `ResultSet`. The column names of the `ResultSet` will form the column names of the table model.

  Hint: To customize the names of the columns, use the SQL column aliasing (done with `SELECT nativecolumnname AS "JavaColumnName" FROM ....`

  Parameters:
    `rs` - the result set.
  Returns:
    a closeable table model.
  Throws:
    `java.sql.SQLException` - if there is a problem with the result set.

### generateDefaultTableModel

    public CloseableTableModel generateDefaultTableModel(java.sql.ResultSet rs,
                                                         boolean labelMapping)
                                                  throws java.sql.SQLException

  Generates a `TableModel` that gets its contents filled from a `ResultSet`. The column names of the `ResultSet` will form the column names of the table model.

  Hint: To customize the names of the columns, use the SQL column aliasing (done with `SELECT nativecolumnname AS "JavaColumnName" FROM ....`

  Parameters:
    `rs` - the result set.
    `labelMapping` - defines, whether to use column names or column labels to compute the column index.
  Returns:
    a closeable table model.
  Throws:
    `java.sql.SQLException` - if there is a problem with the result set.

### getInstance

    public static ResultSetTableModelFactory getInstance()

  Returns the singleton instance of the factory.

  Returns:
    an instance of this factory.