org.jfree.report.modules.misc.tablemodel

Class SubSetTableModel

public class SubSetTableModel extends Object implements TableModel

A TableModel that proxies an other tablemodel and cuts rows from the start and/or the end of the other tablemodel.

Author: Thomas Morgner

Constructor Summary
SubSetTableModel(int start, int end, TableModel model)
Creates a new SubSetTableModel, the start and the end parameters define the new tablemodel row count.
Method Summary
voidaddTableModelListener(TableModelListener l)
Adds a listener to the list that is notified each time a change to the data model occurs.
ClassgetColumnClass(int columnIndex)
Returns the most specific superclass for all the cell values in the column.
intgetColumnCount()
Returns the number of columns in the model.
StringgetColumnName(int columnIndex)
Returns the name of the column at columnIndex.
protected TableModelgetEnclosedModel()
Returns the enclosed tablemodel, which is wrapped by this subset table model.
protected intgetEnd()
Returns the last row that should be visible.
intgetRowCount()
Returns the number of rows in the model.
protected intgetStart()
Returns the start row that should be mapped to row 0 of this model.
ObjectgetValueAt(int rowIndex, int columnIndex)
Returns the value for the cell at columnIndex and rowIndex.
booleanisCellEditable(int rowIndex, int columnIndex)
Returns true if the cell at rowIndex and columnIndex is editable.
voidremoveTableModelListener(TableModelListener l)
Removes a listener from the list that is notified each time a change to the data model occurs.
voidsetValueAt(Object aValue, int rowIndex, int columnIndex)
Sets the value in the cell at columnIndex and rowIndex to aValue.

Constructor Detail

SubSetTableModel

public SubSetTableModel(int start, int end, TableModel model)
Creates a new SubSetTableModel, the start and the end parameters define the new tablemodel row count. The parameter start must be a positive integer and denotes the number or rows removed from the start of the tablemodel. end is the number of the last translated row. Any row after end is ignored. End must be greater or equal the given start row.

Parameters: start the number of rows that should be removed. end the last row. model the wrapped model

Throws: NullPointerException if the given model is null IllegalArgumentException if start or end are invalid.

Method Detail

addTableModelListener

public void addTableModelListener(TableModelListener l)
Adds a listener to the list that is notified each time a change to the data model occurs.

Parameters: l the TableModelListener

getColumnClass

public Class getColumnClass(int columnIndex)
Returns the most specific superclass for all the cell values in the column. This is used by the JTable to set up a default renderer and editor for the column.

Parameters: columnIndex the index of the column

Returns: the base ancestor class of the object values in the model.

getColumnCount

public int getColumnCount()
Returns the number of columns in the model. A JTable uses this method to determine how many columns it should create and display by default.

Returns: the number of columns in the model

See Also: SubSetTableModel

getColumnName

public String getColumnName(int columnIndex)
Returns the name of the column at columnIndex. This is used to initialize the table's column header name. Note: this name does not need to be unique; two columns in a table can have the same name.

Parameters: columnIndex the index of the column

Returns: the name of the column

getEnclosedModel

protected TableModel getEnclosedModel()
Returns the enclosed tablemodel, which is wrapped by this subset table model.

Returns: the enclosed table model, never null.

getEnd

protected int getEnd()
Returns the last row that should be visible.

Returns: the number of the last row.

getRowCount

public int getRowCount()
Returns the number of rows in the model. A JTable uses this method to determine how many rows it should display. This method should be quick, as it is called frequently during rendering.

Returns: the number of rows in the model

See Also: SubSetTableModel

getStart

protected int getStart()
Returns the start row that should be mapped to row 0 of this model.

Returns: the first row that should be visible.

getValueAt

public Object getValueAt(int rowIndex, int columnIndex)
Returns the value for the cell at columnIndex and rowIndex.

Parameters: rowIndex the row whose value is to be queried columnIndex the column whose value is to be queried

Returns: the value Object at the specified cell

isCellEditable

public boolean isCellEditable(int rowIndex, int columnIndex)
Returns true if the cell at rowIndex and columnIndex is editable. Otherwise, setValueAt on the cell will not change the value of that cell.

Parameters: rowIndex the row whose value to be queried columnIndex the column whose value to be queried

Returns: true if the cell is editable

See Also: SubSetTableModel

removeTableModelListener

public void removeTableModelListener(TableModelListener l)
Removes a listener from the list that is notified each time a change to the data model occurs.

Parameters: l the TableModelListener

setValueAt

public void setValueAt(Object aValue, int rowIndex, int columnIndex)
Sets the value in the cell at columnIndex and rowIndex to aValue.

Parameters: aValue the new value rowIndex the row whose value is to be changed columnIndex the column whose value is to be changed

See Also: SubSetTableModel SubSetTableModel