org.jfree.util

## Class ObjectTable

- java.lang.Object
- - org.jfree.util.ObjectTable

All Implemented Interfaces:
  java.io.Serializable

    public class ObjectTable
    extends java.lang.Object
    implements java.io.Serializable

A lookup table for objects. This implementation is not synchronized, it is up to the caller to synchronize it properly.

Author:
  Thomas Morgner
See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`ObjectTable()` Creates a new table.
`ObjectTable(int increment)` Creates a new table.
`ObjectTable(int rowIncrement, int colIncrement)` Creates a new table.

### Method Summary

Methods
`void` `clear()` Clears the table.
`protected void` `copyColumn(int oldColumn, int newColumn)` Copys the contents of the old column to the new column.
`protected void` `copyRow(int oldRow, int newRow)` Copys the contents of the old row to the new row.
`void` `ensureCapacity(int row, int column)` Ensures that there is storage capacity for the specified item.
`protected void` `ensureRowCapacity(int row)` Checks that there is storage capacity for the specified row and resizes if necessary.
`boolean` `equals(java.lang.Object o)` Tests this paint table for equality with another object (typically also an `ObjectTable`).
`int` `getColumnCount()` Returns the number of columns in the table.
`int` `getColumnIncrement()` Returns the column size increment.
`protected java.lang.Object[][]` `getData()` Returns the table data.
`protected java.lang.Object` `getObject(int row, int column)` Returns the object from a particular cell in the table.
`int` `getRowCount()` Returns the number of rows in the table.
`int` `getRowIncrement()` Returns the row size increment.
`int` `hashCode()` Returns a hash code value for the object.
`protected java.lang.Object` `readSerializedData(java.io.ObjectInputStream stream)` Handles the deserialization of a single element of the table.
`protected void` `setData(java.lang.Object[][] data, int colCount)` Sets the table data.
`protected void` `setObject(int row, int column, java.lang.Object object)` Sets the object for a cell in the table.
`protected void` `writeSerializedData(java.io.ObjectOutputStream stream, java.lang.Object o)` Handles the serialization of an single element of this table.

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ObjectTable

    public ObjectTable()

Creates a new table.

#### ObjectTable

    public ObjectTable(int increment)

Creates a new table.

Parameters:
  `increment` - the row and column size increment.

#### ObjectTable

    public ObjectTable(int rowIncrement,
               int colIncrement)

Creates a new table.

Parameters:
  `rowIncrement` - the row size increment.
  `colIncrement` - the column size increment.

### Method Detail

#### getColumnIncrement

    public int getColumnIncrement()

Returns the column size increment.

Returns:
  the increment.

#### getRowIncrement

    public int getRowIncrement()

Returns the row size increment.

Returns:
  the increment.

#### ensureRowCapacity

    protected void ensureRowCapacity(int row)

Checks that there is storage capacity for the specified row and resizes if necessary.

Parameters:
  `row` - the row index.

#### ensureCapacity

    public void ensureCapacity(int row,
                      int column)

Ensures that there is storage capacity for the specified item.

Parameters:
  `row` - the row index.
  `column` - the column index.

#### getRowCount

    public int getRowCount()

Returns the number of rows in the table.

Returns:
  The row count.

#### getColumnCount

    public int getColumnCount()

Returns the number of columns in the table.

Returns:
  The column count.

#### getObject

    protected 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.

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

#### setObject

    protected 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.

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

#### equals

    public boolean equals(java.lang.Object o)

Tests this paint table for equality with another object (typically also an `ObjectTable`).

Overrides:
  `equals` in class `java.lang.Object`
Parameters:
  `o` - the other object.
Returns:
  A boolean.

#### hashCode

    public int hashCode()

Returns a hash code value for the object.

Overrides:
  `hashCode` in class `java.lang.Object`
Returns:
  the hashcode

#### writeSerializedData

    protected void writeSerializedData(java.io.ObjectOutputStream stream,
                           java.lang.Object o)
                                throws java.io.IOException

Handles the serialization of an single element of this table.

Parameters:
  `stream` - the stream which should write the object
  `o` - the object that should be serialized
Throws:
  `java.io.IOException` - if an IO error occured

#### readSerializedData

    protected java.lang.Object readSerializedData(java.io.ObjectInputStream stream)
                                           throws java.lang.ClassNotFoundException,
                                                  java.io.IOException

Handles the deserialization of a single element of the table.

Parameters:
  `stream` - the object input stream from which to read the object.
Returns:
  the deserialized object
Throws:
  `java.lang.ClassNotFoundException` - if a class cannot be found.
  `java.io.IOException` - Any of the usual Input/Output related exceptions.

#### clear

    public void clear()

Clears the table.

#### copyColumn

    protected 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

    protected 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

#### setData

    protected void setData(java.lang.Object[][] data,
               int colCount)

Sets the table data.

Parameters:
  `data` - the data.
  `colCount` - the number of columns.

#### getData

    protected java.lang.Object[][] getData()

Returns the table data.

Returns:
  The table data.