Class ScrollableResultSetTableModel
java.lang.Object
javax.swing.table.AbstractTableModel
org.jfree.report.modules.misc.tablemodel.ScrollableResultSetTableModel
- All Implemented Interfaces:
Serializable
,TableModel
,CloseableTableModel
public class ScrollableResultSetTableModel
extends AbstractTableModel
implements CloseableTableModel
A tableModel which is backed up by a java.sql.ResultSet. Use this to directly feed your
database data into JFreeReport. If you have trouble using this TableModel and you have
either enough memory or your query result is not huge, you may want to use
ResultSetTableModelFactory.generateDefaultTableModel (ResultSet rs)
. That
implementation will read all data from the given ResultSet and keep that data in
memory.
Use the close() function to close the ResultSet contained in this model.- Author:
- Thomas Morgner
- See Also:
-
Field Summary
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
ScrollableResultSetTableModel
(boolean labelMapMode) Creates a new scrollable result set with no resultset assigned and the specified label map mode.ScrollableResultSetTableModel
(ResultSet resultset, boolean labelMapMode) Constructs the model. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Clears the model of the current result set.getColumnClass
(int column) Returns the class of the resultset column.getColumnClassName
(int column) Returns the classname of the resultset column.int
Returns the number of columns in the ResultSet.getColumnName
(int column) Returns the columnLabel or column name for the given column.int
Get a rowCount.getValueAt
(int row, int column) Returns the value of the specified row and the specified column from within the resultset.boolean
Returns the column name mode used to map column names into column indices.void
updateResultSet
(ResultSet resultset) Updates the result set in this model with the given ResultSet object.Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface javax.swing.table.TableModel
addTableModelListener, isCellEditable, removeTableModelListener, setValueAt
-
Constructor Details
-
ScrollableResultSetTableModel
Constructs the model.- Parameters:
resultset
- the result set.labelMapMode
- defines, whether to use column names or column labels to compute the column index.- Throws:
SQLException
- if there is a problem with the result set.
-
ScrollableResultSetTableModel
protected ScrollableResultSetTableModel(boolean labelMapMode) Creates a new scrollable result set with no resultset assigned and the specified label map mode.- Parameters:
labelMapMode
- defines, whether to use column names or column labels to compute the column index.
-
-
Method Details
-
isLabelMapMode
public boolean isLabelMapMode()Returns the column name mode used to map column names into column indices. If true, then the Label is used, else the Name is used.- Returns:
- true, if the column label is used for the mapping, false otherwise.
- See Also:
-
updateResultSet
Updates the result set in this model with the given ResultSet object.- Parameters:
resultset
- the new result set.- Throws:
SQLException
- if there is a problem with the result set.
-
close
public void close()Clears the model of the current result set. The resultset is closed.- Specified by:
close
in interfaceCloseableTableModel
-
getRowCount
public int getRowCount()Get a rowCount. This can be a very expensive operation on large datasets. Returns -1 if the total amount of rows is not known to the result set.- Specified by:
getRowCount
in interfaceTableModel
- Returns:
- the row count.
-
getColumnCount
public int getColumnCount()Returns the number of columns in the ResultSet. Returns 0 if no result set is set or the column count could not be retrieved.- Specified by:
getColumnCount
in interfaceTableModel
- Returns:
- the column count.
- See Also:
-
getColumnName
Returns the columnLabel or column name for the given column. Whether the label or the name is returned depends on the label map mode.- Specified by:
getColumnName
in interfaceTableModel
- Overrides:
getColumnName
in classAbstractTableModel
- Parameters:
column
- the column index.- Returns:
- the column name.
- See Also:
-
getValueAt
Returns the value of the specified row and the specified column from within the resultset.- Specified by:
getValueAt
in interfaceTableModel
- Parameters:
row
- the row index.column
- the column index.- Returns:
- the value.
-
getColumnClass
Returns the class of the resultset column. Returns Object.class if an error occurred.- Specified by:
getColumnClass
in interfaceTableModel
- Overrides:
getColumnClass
in classAbstractTableModel
- Parameters:
column
- the column index.- Returns:
- the column class.
-
getColumnClassName
Returns the classname of the resultset column. Returns Object.class if an error occurred.- Parameters:
column
- the column index.- Returns:
- the column class name.
-