Class SubSetTableModel
- java.lang.Object
-
- org.pentaho.reporting.engine.classic.core.modules.misc.tablemodel.SubSetTableModel
-
- All Implemented Interfaces:
TableModel
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
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addTableModelListener(TableModelListener l)
Adds a listener to the list that is notified each time a change to the data model occurs.Class
getColumnClass(int columnIndex)
Returns the most specific superclass for all the cell values in the column.int
getColumnCount()
Returns the number of columns in the model.String
getColumnName(int columnIndex)
Returns the name of the column atcolumnIndex
.protected TableModel
getEnclosedModel()
Returns the enclosed tablemodel, which is wrapped by this subset table model.protected int
getEnd()
Returns the last row that should be visible.int
getRowCount()
Returns the number of rows in the model.protected int
getStart()
Returns the start row that should be mapped to row 0 of this model.Object
getValueAt(int rowIndex, int columnIndex)
Returns the value for the cell atcolumnIndex
androwIndex
.boolean
isCellEditable(int rowIndex, int columnIndex)
Returns true if the cell atrowIndex
andcolumnIndex
is editable.void
removeTableModelListener(TableModelListener l)
Removes a listener from the list that is notified each time a change to the data model occurs.void
setValueAt(Object aValue, int rowIndex, int columnIndex)
Sets the value in the cell atcolumnIndex
androwIndex
toaValue
.
-
-
-
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 parameterstart
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 afterend
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 nullIllegalArgumentException
- if start or end are invalid.
-
-
Method Detail
-
getRowCount
public int getRowCount()
Returns the number of rows in the model. AJTable
uses this method to determine how many rows it should display. This method should be quick, as it is called frequently during rendering.- Specified by:
getRowCount
in interfaceTableModel
- Returns:
- the number of rows in the model
- See Also:
getColumnCount()
-
getColumnCount
public int getColumnCount()
Returns the number of columns in the model. AJTable
uses this method to determine how many columns it should create and display by default.- Specified by:
getColumnCount
in interfaceTableModel
- Returns:
- the number of columns in the model
- See Also:
getRowCount()
-
getColumnName
public String getColumnName(int columnIndex)
Returns the name of the column atcolumnIndex
. 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.- Specified by:
getColumnName
in interfaceTableModel
- Parameters:
columnIndex
- the index of the column- Returns:
- the name of the column
-
getColumnClass
public Class getColumnClass(int columnIndex)
Returns the most specific superclass for all the cell values in the column. This is used by theJTable
to set up a default renderer and editor for the column.- Specified by:
getColumnClass
in interfaceTableModel
- Parameters:
columnIndex
- the index of the column- Returns:
- the base ancestor class of the object values in the model.
-
isCellEditable
public boolean isCellEditable(int rowIndex, int columnIndex)
Returns true if the cell atrowIndex
andcolumnIndex
is editable. Otherwise,setValueAt
on the cell will not change the value of that cell.- Specified by:
isCellEditable
in interfaceTableModel
- Parameters:
rowIndex
- the row whose value to be queriedcolumnIndex
- the column whose value to be queried- Returns:
- true if the cell is editable
- See Also:
setValueAt(java.lang.Object, int, int)
-
getValueAt
public Object getValueAt(int rowIndex, int columnIndex)
Returns the value for the cell atcolumnIndex
androwIndex
.- Specified by:
getValueAt
in interfaceTableModel
- Parameters:
rowIndex
- the row whose value is to be queriedcolumnIndex
- the column whose value is to be queried- Returns:
- the value Object at the specified cell
-
setValueAt
public void setValueAt(Object aValue, int rowIndex, int columnIndex)
Sets the value in the cell atcolumnIndex
androwIndex
toaValue
.- Specified by:
setValueAt
in interfaceTableModel
- Parameters:
aValue
- the new valuerowIndex
- the row whose value is to be changedcolumnIndex
- the column whose value is to be changed- See Also:
getValueAt(int, int)
,isCellEditable(int, int)
-
addTableModelListener
public void addTableModelListener(TableModelListener l)
Adds a listener to the list that is notified each time a change to the data model occurs.- Specified by:
addTableModelListener
in interfaceTableModel
- Parameters:
l
- the TableModelListener
-
removeTableModelListener
public void removeTableModelListener(TableModelListener l)
Removes a listener from the list that is notified each time a change to the data model occurs.- Specified by:
removeTableModelListener
in interfaceTableModel
- Parameters:
l
- the TableModelListener
-
getEnclosedModel
protected TableModel getEnclosedModel()
Returns the enclosed tablemodel, which is wrapped by this subset table model.- Returns:
- the enclosed table model, never null.
-
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.
-
getEnd
protected int getEnd()
Returns the last row that should be visible.- Returns:
- the number of the last row.
-
-