org.pentaho.reporting.engine.classic.core.designtime
Class OfflineTableModel

java.lang.Object
  extended by org.pentaho.reporting.engine.classic.core.designtime.OfflineTableModel
All Implemented Interfaces:
TableModel, MetaTableModel

public class OfflineTableModel
extends Object
implements MetaTableModel

Todo: Document me!

Date: 03.09.2010 Time: 16:06:33

Author:
Thomas Morgner.

Constructor Summary
OfflineTableModel(TableModel model, DataAttributeContext dataAttributeContext)
           
 
Method Summary
 void addTableModelListener(TableModelListener l)
          Adds a listener to the list that is notified each time a change to the data model occurs.
 DataAttributes getCellDataAttributes(int row, int column)
          Returns the meta-attribute as Java-Object.
 DataAttributes getColumnAttributes(int column)
          Returns the column-level attributes for the given column.
 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 at columnIndex.
 int getRowCount()
          Returns the number of rows in the model.
 DataAttributes getTableAttributes()
          Returns table-wide attributes.
 Object getValueAt(int rowIndex, int columnIndex)
          Returns the value for the cell at columnIndex and rowIndex.
 boolean isCellDataAttributesSupported()
          Checks, whether cell-data attributes are supported by this tablemodel implementation.
 boolean isCellEditable(int rowIndex, int columnIndex)
          Returns true if the cell at rowIndex and columnIndex 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 at columnIndex and rowIndex to aValue.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OfflineTableModel

public OfflineTableModel(TableModel model,
                         DataAttributeContext dataAttributeContext)
Method Detail

getCellDataAttributes

public DataAttributes getCellDataAttributes(int row,
                                            int column)
Returns the meta-attribute as Java-Object. The object type that is expected by the caller is defined in the TableMetaData property set. It is the responsibility of the implementor to map the native meta-data model into a model suitable for reporting.

Be aware that cell-level attributes do not make it into the designtime dataschema, as this dataschema only looks at the structural metadata available and does not contain any data references.

Specified by:
getCellDataAttributes in interface MetaTableModel
Parameters:
row - the row of the cell for which the meta-data is queried.
column - the index of the column for which the meta-data is queried.
Returns:
the meta-data object.

isCellDataAttributesSupported

public boolean isCellDataAttributesSupported()
Checks, whether cell-data attributes are supported by this tablemodel implementation.

Specified by:
isCellDataAttributesSupported in interface MetaTableModel
Returns:
true, if the model supports cell-level attributes, false otherwise.

getColumnAttributes

public DataAttributes getColumnAttributes(int column)
Returns the column-level attributes for the given column.

Specified by:
getColumnAttributes in interface MetaTableModel
Parameters:
column - the column.
Returns:
data-attributes, never null.

getTableAttributes

public DataAttributes getTableAttributes()
Returns table-wide attributes. This usually contain hints about the data-source used to query the data as well as hints on the sort-order of the data.

Specified by:
getTableAttributes in interface MetaTableModel
Returns:
the table-attributes, never null.

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.

Specified by:
getRowCount in interface TableModel
Returns:
the number of rows in the model
See Also:
getColumnCount()

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.

Specified by:
getColumnCount in interface TableModel
Returns:
the number of columns in the model
See Also:
getRowCount()

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.

Specified by:
getColumnName in interface TableModel
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 the JTable to set up a default renderer and editor for the column.

Specified by:
getColumnClass in interface TableModel
Parameters:
columnIndex - the index of the column
Returns:
the common ancestor class of the object values in the model.

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.

Specified by:
isCellEditable in interface TableModel
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:
setValueAt(java.lang.Object, int, int)

getValueAt

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

Specified by:
getValueAt in interface TableModel
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

setValueAt

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

Specified by:
setValueAt in interface TableModel
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:
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 interface TableModel
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 interface TableModel
Parameters:
l - the TableModelListener