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:
java.io.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.
 java.lang.Object getObject(int row, int column)
          Returns the object from a particular cell in the table.
 void setObject(int row, int column, java.lang.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, ensureRowCapacity, equals, getColumnCount, getColumnIncrement, getData, getRowCount, getRowIncrement, hashCode, readSerializedData, setData, writeSerializedData
 
Methods inherited from class java.lang.Object
clone, finalize, 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 java.lang.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.

Overrides:
getObject in class ObjectTable
Parameters:
row - the row index (zero-based).
column - the column index (zero-based).
Returns:
The object.

setObject

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

Overrides:
setObject in class ObjectTable
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.

Overrides:
copyColumn in class ObjectTable
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.

Overrides:
copyRow in class ObjectTable
Parameters:
oldRow - the index of the old row
newRow - the index of the new row