org.pentaho.reporting.libraries.base.util
Class GenericObjectTable

java.lang.Object
  extended by org.pentaho.reporting.libraries.base.util.ObjectTable
      extended by org.pentaho.reporting.libraries.base.util.GenericObjectTable
All Implemented Interfaces:
Serializable

public class GenericObjectTable
extends ObjectTable

A generic table storing objects in an fast array backend. This generic class provides public getter and setters for the contents of the table.

Author:
Thomas Morgner
See Also:
Serialized Form

Constructor Summary
GenericObjectTable()
          Creates a new object table.
GenericObjectTable(int increment)
          Creates a new table.
GenericObjectTable(int rowIncrement, int colIncrement)
          Creates a new table.
 
Method Summary
 void copyColumn(int oldColumn, int newColumn)
          Copys the contents of the old column to the new column.
 void copyRow(int oldRow, int newRow)
          Copys the contents of the old row to the new row.
 Object getObject(int row, int column)
          Returns the object from a particular cell in the table.
 void setObject(int row, int column, Object object)
          Sets the object for a cell in the table.
 
Methods inherited from class org.pentaho.reporting.libraries.base.util.ObjectTable
clear, clearRow, ensureCapacity, equals, getColumnCount, getColumnIncrement, getRowCount, getRowIncrement, hashCode
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GenericObjectTable

public GenericObjectTable()
Creates a new object table.


GenericObjectTable

public GenericObjectTable(int increment)
Creates a new table.

Parameters:
increment - the row and column size increment.

GenericObjectTable

public GenericObjectTable(int rowIncrement,
                          int colIncrement)
Creates a new table.

Parameters:
rowIncrement - the row size increment.
colIncrement - the column size increment.
Method Detail

getObject

public Object getObject(int row,
                        int column)
Returns the object from a particular cell in the table. Returns null, if there is no object at the given position.

Note: throws IndexOutOfBoundsException if row or column is negative.

Parameters:
row - the row index (zero-based).
column - the column index (zero-based).
Returns:
The object.

setObject

public void setObject(int row,
                      int column,
                      Object object)
Sets the object for a cell in the table. The table is expanded if necessary.

Parameters:
row - the row index (zero-based).
column - the column index (zero-based).
object - the object.

copyColumn

public void copyColumn(int oldColumn,
                       int newColumn)
Copys the contents of the old column to the new column.

Parameters:
oldColumn - the index of the old (source) column
newColumn - the index of the new column

copyRow

public void copyRow(int oldRow,
                    int newRow)
Copys the contents of the old row to the new row. This uses raw access to the data and is remarkably faster than manual copying.

Parameters:
oldRow - the index of the old row
newRow - the index of the new row