Class Series

java.lang.Object
org.jfree.data.general.Series
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
ComparableObjectSeries, MatrixSeries, TaskSeries, TimePeriodValues, TimeSeries, XYSeries

public abstract class Series extends Object implements Cloneable, Serializable
Base class representing a data series. Subclasses are left to implement the actual data structures.

The series has two properties ("Key" and "Description") for which you can register a PropertyChangeListener.

You can also register a SeriesChangeListener to receive notification of changes to the series data.

See Also:
  • Constructor Details

    • Series

      protected Series(Comparable key)
      Creates a new series with the specified key.
      Parameters:
      key - the series key (null not permitted).
    • Series

      protected Series(Comparable key, String description)
      Creates a new series with the specified key and description.
      Parameters:
      key - the series key (null NOT permitted).
      description - the series description (null permitted).
  • Method Details

    • getKey

      public Comparable getKey()
      Returns the key for the series.
      Returns:
      The series key (never null).
      See Also:
    • setKey

      @Deprecated public void setKey(Comparable key)
      Deprecated.
      In future releases the series key will be immutable.
      Sets the key for the series and sends a VetoableChangeEvent (with the property name "Key") to all registered listeners. For backwards compatibility, this method also fires a regular PropertyChangeEvent. If the key change is vetoed this method will throw an IllegalArgumentException. This implementation is not very robust when cloning or deserialising series collections, so you should not rely upon it for that purpose. In future releases, the series key will be made immutable.
      Parameters:
      key - the key (null not permitted).
      See Also:
    • getDescription

      Returns a description of the series.
      Returns:
      The series description (possibly null).
      See Also:
    • setDescription

      public void setDescription(String description)
      Sets the description of the series and sends a PropertyChangeEvent to all registered listeners.
      Parameters:
      description - the description (null permitted).
      See Also:
    • getNotify

      public boolean getNotify()
      Returns the flag that controls whether or not change events are sent to registered listeners.
      Returns:
      A boolean.
      See Also:
    • setNotify

      public void setNotify(boolean notify)
      Sets the flag that controls whether or not change events are sent to registered listeners.
      Parameters:
      notify - the new value of the flag.
      See Also:
    • isEmpty

      public boolean isEmpty()
      Returns true if the series contains no data items, and false otherwise.
      Returns:
      A boolean.
    • getItemCount

      public abstract int getItemCount()
      Returns the number of data items in the series.
      Returns:
      The number of data items in the series.
    • clone

      Returns a clone of the series.

      Notes:

      • No need to clone the name or description, since String object is immutable.
      • We set the listener list to empty, since the listeners did not register with the clone.
      • Same applies to the PropertyChangeSupport instance.
      Overrides:
      clone in class Object
      Returns:
      A clone of the series.
      Throws:
      CloneNotSupportedException - not thrown by this class, but subclasses may differ.
    • equals

      public boolean equals(Object obj)
      Tests the series for equality with another object.
      Overrides:
      equals in class Object
      Parameters:
      obj - the object (null permitted).
      Returns:
      true or false.
    • canEqual

      public boolean canEqual(Object other)
      Ensures symmetry between super/subclass implementations of equals. For more detail, see http://jqno.nl/equalsverifier/manual/inheritance.
      Parameters:
      other - Object
      Returns:
      true ONLY if the parameter is THIS class type
    • hashCode

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

      public void addChangeListener(SeriesChangeListener listener)
      Registers an object with this series, to receive notification whenever the series changes.

      Objects being registered must implement the SeriesChangeListener interface.

      Parameters:
      listener - the listener to register.
    • removeChangeListener

      Deregisters an object, so that it not longer receives notification whenever the series changes.
      Parameters:
      listener - the listener to deregister.
    • fireSeriesChanged

      public void fireSeriesChanged()
      General method for signalling to registered listeners that the series has been changed.
    • notifyListeners

      protected void notifyListeners(SeriesChangeEvent event)
      Sends a change event to all registered listeners.
      Parameters:
      event - contains information about the event that triggered the notification.
    • addPropertyChangeListener

      Adds a property change listener to the series.
      Parameters:
      listener - the listener.
    • removePropertyChangeListener

      Removes a property change listener from the series.
      Parameters:
      listener - the listener.
    • firePropertyChange

      protected void firePropertyChange(String property, Object oldValue, Object newValue)
      Fires a property change event.
      Parameters:
      property - the property key.
      oldValue - the old value.
      newValue - the new value.
    • addVetoableChangeListener

      Adds a vetoable property change listener to the series.
      Parameters:
      listener - the listener.
    • removeVetoableChangeListener

      Removes a vetoable property change listener from the series.
      Parameters:
      listener - the listener.
    • fireVetoableChange

      protected void fireVetoableChange(String property, Object oldValue, Object newValue) throws PropertyVetoException
      Fires a vetoable property change event.
      Parameters:
      property - the property key.
      oldValue - the old value.
      newValue - the new value.
      Throws:
      PropertyVetoException - if the change was vetoed.