Class KeyedObjects2D

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable

    public class KeyedObjects2D
    extends java.lang.Object
    implements java.lang.Cloneable, java.io.Serializable
    A data structure that stores zero, one or many objects, where each object is associated with two keys (a 'row' key and a 'column' key).
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      KeyedObjects2D()
      Creates a new instance (initially empty).
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addObject​(java.lang.Object object, java.lang.Comparable rowKey, java.lang.Comparable columnKey)
      Adds an object to the table.
      void clear()
      Clears all the data and associated keys.
      java.lang.Object clone()
      Returns a clone.
      boolean equals​(java.lang.Object obj)
      Tests this object for equality with an arbitrary object.
      int getColumnCount()
      Returns the column count.
      int getColumnIndex​(java.lang.Comparable key)
      Returns the column index for a given key, or -1 if the key is not recognised.
      java.lang.Comparable getColumnKey​(int column)
      Returns the key for a given column.
      java.util.List getColumnKeys()
      Returns the column keys.
      java.lang.Object getObject​(int row, int column)
      Returns the object for a given row and column.
      java.lang.Object getObject​(java.lang.Comparable rowKey, java.lang.Comparable columnKey)
      Returns the object for the given row and column keys.
      int getRowCount()
      Returns the row count.
      int getRowIndex​(java.lang.Comparable key)
      Returns the row index for a given key, or -1 if the key is not recognised.
      java.lang.Comparable getRowKey​(int row)
      Returns the key for a given row.
      java.util.List getRowKeys()
      Returns the row keys.
      int hashCode()
      Returns a hashcode for this object.
      void removeColumn​(int columnIndex)
      Removes an entire column from the table.
      void removeColumn​(java.lang.Comparable columnKey)
      Removes an entire column from the table.
      void removeObject​(java.lang.Comparable rowKey, java.lang.Comparable columnKey)
      Removes an object from the table by setting it to null.
      void removeRow​(int rowIndex)
      Removes an entire row from the table.
      void removeRow​(java.lang.Comparable rowKey)
      Removes an entire row from the table.
      void setObject​(java.lang.Object object, java.lang.Comparable rowKey, java.lang.Comparable columnKey)
      Adds or updates an object.
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • KeyedObjects2D

        public KeyedObjects2D()
        Creates a new instance (initially empty).
    • Method Detail

      • getObject

        public java.lang.Object getObject​(int row,
                                          int column)
        Returns the object for a given row and column.
        Parameters:
        row - the row index (in the range 0 to getRowCount() - 1).
        column - the column index (in the range 0 to getColumnCount() - 1).
        Returns:
        The object (possibly null).
        See Also:
        getObject(Comparable, Comparable)
      • getRowKey

        public java.lang.Comparable getRowKey​(int row)
        Returns the key for a given row.
        Parameters:
        row - the row index (zero based).
        Returns:
        The row index.
        See Also:
        getRowIndex(Comparable)
      • getRowIndex

        public int getRowIndex​(java.lang.Comparable key)
        Returns the row index for a given key, or -1 if the key is not recognised.
        Parameters:
        key - the key (null not permitted).
        Returns:
        The row index.
        See Also:
        getRowKey(int)
      • getRowKeys

        public java.util.List getRowKeys()
        Returns the row keys.
        Returns:
        The row keys (never null).
        See Also:
        getRowKeys()
      • getColumnKey

        public java.lang.Comparable getColumnKey​(int column)
        Returns the key for a given column.
        Parameters:
        column - the column.
        Returns:
        The key.
        See Also:
        getColumnIndex(Comparable)
      • getColumnIndex

        public int getColumnIndex​(java.lang.Comparable key)
        Returns the column index for a given key, or -1 if the key is not recognised.
        Parameters:
        key - the key (null not permitted).
        Returns:
        The column index.
        See Also:
        getColumnKey(int)
      • getColumnKeys

        public java.util.List getColumnKeys()
        Returns the column keys.
        Returns:
        The column keys (never null).
        See Also:
        getRowKeys()
      • getObject

        public java.lang.Object getObject​(java.lang.Comparable rowKey,
                                          java.lang.Comparable columnKey)
        Returns the object for the given row and column keys.
        Parameters:
        rowKey - the row key (null not permitted).
        columnKey - the column key (null not permitted).
        Returns:
        The object (possibly null).
        Throws:
        java.lang.IllegalArgumentException - if rowKey or columnKey is null.
        UnknownKeyException - if rowKey or columnKey is not recognised.
      • addObject

        public void addObject​(java.lang.Object object,
                              java.lang.Comparable rowKey,
                              java.lang.Comparable columnKey)
        Adds an object to the table. Performs the same function as setObject().
        Parameters:
        object - the object.
        rowKey - the row key (null not permitted).
        columnKey - the column key (null not permitted).
      • setObject

        public void setObject​(java.lang.Object object,
                              java.lang.Comparable rowKey,
                              java.lang.Comparable columnKey)
        Adds or updates an object.
        Parameters:
        object - the object.
        rowKey - the row key (null not permitted).
        columnKey - the column key (null not permitted).
      • removeObject

        public void removeObject​(java.lang.Comparable rowKey,
                                 java.lang.Comparable columnKey)
        Removes an object from the table by setting it to null. If all the objects in the specified row and/or column are now null, the row and/or column is removed from the table.
        Parameters:
        rowKey - the row key (null not permitted).
        columnKey - the column key (null not permitted).
        See Also:
        addObject(Object, Comparable, Comparable)
      • removeRow

        public void removeRow​(int rowIndex)
        Removes an entire row from the table.
        Parameters:
        rowIndex - the row index.
        See Also:
        removeColumn(int)
      • removeColumn

        public void removeColumn​(int columnIndex)
        Removes an entire column from the table.
        Parameters:
        columnIndex - the column index.
        See Also:
        removeRow(int)
      • removeColumn

        public void removeColumn​(java.lang.Comparable columnKey)
        Removes an entire column from the table.
        Parameters:
        columnKey - the column key (null not permitted).
        Throws:
        UnknownKeyException - if rowKey is not recognised.
        See Also:
        removeRow(Comparable)
      • clear

        public void clear()
        Clears all the data and associated keys.
        Since:
        1.0.7
      • equals

        public boolean equals​(java.lang.Object obj)
        Tests this object for equality with an arbitrary object.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        obj - the object to test (null permitted).
        Returns:
        A boolean.
      • hashCode

        public int hashCode()
        Returns a hashcode for this object.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        A hashcode.
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Returns a clone.
        Overrides:
        clone in class java.lang.Object
        Returns:
        A clone.
        Throws:
        java.lang.CloneNotSupportedException - this class will not throw this exception, but subclasses (if any) might.