org.jfree.data.general

Class Series

Implemented Interfaces:
Cloneable, Serializable
Known Direct Subclasses:
ComparableObjectSeries, MatrixSeries, TaskSeries, TimePeriodValues, TimeSeries, XYSeries

public abstract class Series
extends java.lang.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.

Constructor Summary

Series(Comparable key)
Creates a new series with the specified key.
Series(Comparable key, String description)
Creates a new series with the specified key and description.

Method Summary

void
addChangeListener(SeriesChangeListener listener)
Registers an object with this series, to receive notification whenever the series changes.
void
addPropertyChangeListener(PropertyChangeListener listener)
Adds a property change listener to the series.
Object
clone()
Returns a clone of the series.
boolean
equals(Object obj)
Tests the series for equality with another object.
protected void
firePropertyChange(String property, Object oldValue, Object newValue)
Fires a property change event.
void
fireSeriesChanged()
General method for signalling to registered listeners that the series has been changed.
String
getDescription()
Returns a description of the series.
Comparable
getKey()
Returns the key for the series.
boolean
getNotify()
Returns the flag that controls whether or not change events are sent to registered listeners.
int
hashCode()
Returns a hash code.
protected void
notifyListeners(SeriesChangeEvent event)
Sends a change event to all registered listeners.
void
removeChangeListener(SeriesChangeListener listener)
Deregisters an object, so that it not longer receives notification whenever the series changes.
void
removePropertyChangeListener(PropertyChangeListener listener)
Removes a property change listener from the series.
void
setDescription(String description)
Sets the description of the series and sends a PropertyChangeEvent to all registered listeners.
void
setKey(Comparable key)
Sets the key for the series and sends a PropertyChangeEvent (with the property name "Key") to all registered listeners.
void
setNotify(boolean notify)
Sets the flag that controls whether or not change events are sent to registered listeners.

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

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.

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener listener)
Adds a property change listener to the series.
Parameters:
listener - the listener.

clone

public Object clone()
            throws CloneNotSupportedException
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.
Returns:
A clone of the series.

equals

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

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.

fireSeriesChanged

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

getDescription

public String getDescription()
Returns a description of the series.
Returns:
The series description (possibly null).

getKey

public Comparable getKey()
Returns the key for the series.
Returns:
The series key (never null).

getNotify

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

hashCode

public int hashCode()
Returns a hash code.
Returns:
A hash code.

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.

removeChangeListener

public void removeChangeListener(SeriesChangeListener listener)
Deregisters an object, so that it not longer receives notification whenever the series changes.
Parameters:
listener - the listener to deregister.

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener listener)
Removes a property change listener from the series.
Parameters:
listener - The listener.

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

setKey

public void setKey(Comparable key)
Sets the key for the series and sends a PropertyChangeEvent (with the property name "Key") to all registered listeners.
Parameters:
key - the key (null not permitted).
See Also:
getKey()

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:
getNotify()