Class KeyedObjects

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

    public class KeyedObjects
    extends java.lang.Object
    implements java.lang.Cloneable, PublicCloneable, java.io.Serializable
    A collection of (key, object) pairs.
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.List data
      Storage for the data.
      private static long serialVersionUID
      For serialization.
    • Constructor Summary

      Constructors 
      Constructor Description
      KeyedObjects()
      Creates a new collection (initially empty).
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addObject​(java.lang.Comparable key, java.lang.Object object)
      Adds a new object to the collection, or overwrites an existing object.
      void clear()
      Clears all values from the collection.
      java.lang.Object clone()
      Returns a clone of this object.
      boolean equals​(java.lang.Object obj)
      Tests this object for equality with an arbitrary object.
      int getIndex​(java.lang.Comparable key)
      Returns the index for a given key, or -1.
      int getItemCount()
      Returns the number of items (values) in the collection.
      java.lang.Comparable getKey​(int index)
      Returns the key at the specified position in the list.
      java.util.List getKeys()
      Returns a list containing all the keys in the list.
      java.lang.Object getObject​(int item)
      Returns an object from the list.
      java.lang.Object getObject​(java.lang.Comparable key)
      Returns the object for a given key.
      int hashCode()
      Returns a hash code.
      void insertValue​(int position, java.lang.Comparable key, java.lang.Object value)
      Inserts a new value at the specified position in the dataset or, if there is an existing item with the specified key, updates the value for that item and moves it to the specified position.
      void removeValue​(int index)
      Removes a value from the collection.
      void removeValue​(java.lang.Comparable key)
      Removes a value from the collection.
      void setObject​(java.lang.Comparable key, java.lang.Object object)
      Replaces an existing object, or adds a new object to the collection.
      • Methods inherited from class java.lang.Object

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

      • serialVersionUID

        private static final long serialVersionUID
        For serialization.
        See Also:
        Constant Field Values
      • data

        private java.util.List data
        Storage for the data.
    • Constructor Detail

      • KeyedObjects

        public KeyedObjects()
        Creates a new collection (initially empty).
    • Method Detail

      • getItemCount

        public int getItemCount()
        Returns the number of items (values) in the collection.
        Returns:
        The item count.
      • getObject

        public java.lang.Object getObject​(int item)
        Returns an object from the list.
        Parameters:
        item - the item index (zero-based).
        Returns:
        The object (possibly null).
        Throws:
        java.lang.IndexOutOfBoundsException - if item is out of bounds.
      • getKey

        public java.lang.Comparable getKey​(int index)
        Returns the key at the specified position in the list.
        Parameters:
        index - the item index (zero-based).
        Returns:
        The row key.
        Throws:
        java.lang.IndexOutOfBoundsException - if item is out of bounds.
        See Also:
        getIndex(Comparable)
      • getIndex

        public int getIndex​(java.lang.Comparable key)
        Returns the index for a given key, or -1.
        Parameters:
        key - the key (null not permitted).
        Returns:
        The index, or -1 if the key is unrecognised.
        See Also:
        getKey(int)
      • getKeys

        public java.util.List getKeys()
        Returns a list containing all the keys in the list.
        Returns:
        The keys (never null).
      • getObject

        public java.lang.Object getObject​(java.lang.Comparable key)
        Returns the object for a given key. If the key is not recognised, the method should return null.
        Parameters:
        key - the key.
        Returns:
        The object (possibly null).
        See Also:
        addObject(Comparable, Object)
      • addObject

        public void addObject​(java.lang.Comparable key,
                              java.lang.Object object)
        Adds a new object to the collection, or overwrites an existing object. This is the same as the setObject(Comparable, Object) method.
        Parameters:
        key - the key.
        object - the object.
        See Also:
        getObject(Comparable)
      • setObject

        public void setObject​(java.lang.Comparable key,
                              java.lang.Object object)
        Replaces an existing object, or adds a new object to the collection. This is the same as the addObject(Comparable, Object) method.
        Parameters:
        key - the key (null not permitted).
        object - the object.
        See Also:
        getObject(Comparable)
      • insertValue

        public void insertValue​(int position,
                                java.lang.Comparable key,
                                java.lang.Object value)
        Inserts a new value at the specified position in the dataset or, if there is an existing item with the specified key, updates the value for that item and moves it to the specified position.
        Parameters:
        position - the position (in the range 0 to getItemCount()).
        key - the key (null not permitted).
        value - the value (null permitted).
      • removeValue

        public void removeValue​(int index)
        Removes a value from the collection.
        Parameters:
        index - the index of the item to remove.
        See Also:
        removeValue(Comparable)
      • removeValue

        public void removeValue​(java.lang.Comparable key)
        Removes a value from the collection.
        Parameters:
        key - the key (null not permitted).
        Throws:
        UnknownKeyException - if the key is not recognised.
        See Also:
        removeValue(int)
      • clear

        public void clear()
        Clears all values from the collection.
      • clone

        public java.lang.Object clone()
                               throws java.lang.CloneNotSupportedException
        Returns a clone of this object. Keys in the list should be immutable and are not cloned. Objects in the list are cloned only if they implement PublicCloneable.
        Specified by:
        clone in interface PublicCloneable
        Overrides:
        clone in class java.lang.Object
        Returns:
        A clone.
        Throws:
        java.lang.CloneNotSupportedException - if there is a problem cloning.
      • 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 (null permitted).
        Returns:
        A boolean.
      • hashCode

        public int hashCode()
        Returns a hash code.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        A hash code.