Package org.jfree.report.modules.misc.tablemodel

# Class ResultSetTableModelFactory

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

public final class ResultSetTableModelFactory extends 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

Fields
Modifier and Type
Field
Description
`static final String`
`COLUMN_NAME_MAPPING_KEY`
The configuration key defining how to map column names to column indices.
`static final String`
`RESULTSET_FACTORY_MODE`
The 'ResultSet factory mode'.

## Method Summary

Modifier and Type
Method
Description
`CloseableTableModel`
`createTableModel(ResultSet rs)`
Creates a table model by using the given `ResultSet` as the backend.
`CloseableTableModel`
`createTableModel(ResultSet rs, boolean labelMapping)`
Creates a table model by using the given `ResultSet` as the backend.
`CloseableTableModel`
`generateDefaultTableModel(ResultSet rs)`
Generates a `TableModel` that gets its contents filled from a `ResultSet`.
`CloseableTableModel`
`generateDefaultTableModel(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 Details

### COLUMN_NAME_MAPPING_KEY

public static final 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 String RESULTSET_FACTORY_MODE
The 'ResultSet factory mode'.

See Also:
  - Constant Field Values

## Method Details

### createTableModel

public CloseableTableModel createTableModel(ResultSet rs) throws 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:
  `SQLException` - if there is a problem with the result set.

### createTableModel

public CloseableTableModel createTableModel(ResultSet rs, boolean labelMapping) throws 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:
  `SQLException` - if there is a problem with the result set.

### generateDefaultTableModel

public CloseableTableModel generateDefaultTableModel(ResultSet rs) throws 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:
  `SQLException` - if there is a problem with the result set.

### generateDefaultTableModel

public CloseableTableModel generateDefaultTableModel(ResultSet rs, boolean labelMapping) throws 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:
  `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.