Class ObjectTable

java.lang.Object
org.jfree.util.ObjectTable
All Implemented Interfaces:
Serializable

public class ObjectTable extends Object implements Serializable
A lookup table for objects. This implementation is not synchronized, it is up to the caller to synchronize it properly.
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private int
    Defines how many object-slots get reserved each time we run out of space.
    private int
    The number of columns.
    private Object[][]
    An array of objects.
    private int
    Defines how many object-slots get reserved each time we run out of space.
    private int
    The number of rows.
    private static final long
    For serialization.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a new table.
    ObjectTable(int increment)
    Creates a new table.
    ObjectTable(int rowIncrement, int colIncrement)
    Creates a new table.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    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
    Checks that there is storage capacity for the specified row and resizes if necessary.
    boolean
    Tests this paint table for equality with another object (typically also an ObjectTable).
    int
    Returns the number of columns in the table.
    int
    Returns the column size increment.
    protected Object[][]
    Returns the table data.
    protected Object
    getObject(int row, int column)
    Returns the object from a particular cell in the table.
    int
    Returns the number of rows in the table.
    int
    Returns the row size increment.
    int
    Returns a hash code value for the object.
    private void
    Restores a serialized object.
    protected Object
    Handles the deserialization of a single element of the table.
    protected void
    setData(Object[][] data, int colCount)
    Sets the table data.
    protected void
    setObject(int row, int column, Object object)
    Sets the object for a cell in the table.
    private void
    Handles serialization.
    protected void
    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
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      For serialization.
      See Also:
    • rows

      private int rows
      The number of rows.
    • columns

      private int columns
      The number of columns.
    • data

      private transient Object[][] data
      An array of objects. The array may contain null values.
    • rowIncrement

      private int rowIncrement
      Defines how many object-slots get reserved each time we run out of space.
    • columnIncrement

      private int columnIncrement
      Defines how many object-slots get reserved each time we run out of space.
  • Constructor Details

    • 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 Details

    • 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 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, 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(Object o)
      Tests this paint table for equality with another object (typically also an ObjectTable).
      Overrides:
      equals in class 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 Object
      Returns:
      the hashcode
    • writeObject

      private void writeObject(ObjectOutputStream stream) throws IOException
      Handles serialization.
      Parameters:
      stream - the output stream.
      Throws:
      IOException - if there is an I/O problem.
    • writeSerializedData

      protected void writeSerializedData(ObjectOutputStream stream, Object o) throws 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:
      IOException - if an IO error occured
    • readObject

      private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException
      Restores a serialized object.
      Parameters:
      stream - the input stream.
      Throws:
      IOException - if there is an I/O problem.
      ClassNotFoundException - if a class cannot be found.
    • readSerializedData

      protected Object readSerializedData(ObjectInputStream stream) throws ClassNotFoundException, 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:
      ClassNotFoundException - if a class cannot be found.
      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(Object[][] data, int colCount)
      Sets the table data.
      Parameters:
      data - the data.
      colCount - the number of columns.
    • getData

      protected Object[][] getData()
      Returns the table data.
      Returns:
      The table data.