org.jfree.data.general

Class AbstractDataset

public abstract class AbstractDataset extends Object implements Dataset, Cloneable, Serializable, ObjectInputValidation

An abstract implementation of the Dataset interface, containing a mechanism for registering change listeners.
Constructor Summary
protected AbstractDataset()
Constructs a dataset.
Method Summary
voidaddChangeListener(DatasetChangeListener listener)
Registers an object to receive notification of changes to the dataset.
Objectclone()
Returns a clone of the dataset.
protected voidfireDatasetChanged()
Notifies all registered listeners that the dataset has changed.
DatasetGroupgetGroup()
Returns the dataset group for the dataset.
booleanhasListener(EventListener listener)
Returns true if the specified object is registered with the dataset as a listener.
protected voidnotifyListeners(DatasetChangeEvent event)
Notifies all registered listeners that the dataset has changed.
voidremoveChangeListener(DatasetChangeListener listener)
Deregisters an object so that it no longer receives notification of changes to the dataset.
voidsetGroup(DatasetGroup group)
Sets the dataset group for the dataset.
voidvalidateObject()
Validates the object.

Constructor Detail

AbstractDataset

protected AbstractDataset()
Constructs a dataset. By default, the dataset is assigned to its own group.

Method Detail

addChangeListener

public void addChangeListener(DatasetChangeListener listener)
Registers an object to receive notification of changes to the dataset.

Parameters: listener the object to register.

clone

public Object clone()
Returns a clone of the dataset. The cloned dataset will NOT include the DatasetChangeListener references that have been registered with this dataset.

Returns: A clone.

Throws: CloneNotSupportedException if the dataset does not support cloning.

fireDatasetChanged

protected void fireDatasetChanged()
Notifies all registered listeners that the dataset has changed.

getGroup

public DatasetGroup getGroup()
Returns the dataset group for the dataset.

Returns: The group.

hasListener

public boolean hasListener(EventListener listener)
Returns true if the specified object is registered with the dataset as a listener. Most applications won't need to call this method, it exists mainly for use by unit testing code.

Parameters: listener the listener.

Returns: A boolean.

notifyListeners

protected void notifyListeners(DatasetChangeEvent event)
Notifies all registered listeners that the dataset has changed.

Parameters: event contains information about the event that triggered the notification.

removeChangeListener

public void removeChangeListener(DatasetChangeListener listener)
Deregisters an object so that it no longer receives notification of changes to the dataset.

Parameters: listener the object to deregister.

setGroup

public void setGroup(DatasetGroup group)
Sets the dataset group for the dataset.

Parameters: group the group (null not permitted).

validateObject

public void validateObject()
Validates the object. We use this opportunity to call listeners who have registered during the deserialization process, as listeners are not serialized. This method is called by the serialization system after the entire graph is read. This object has registered itself to the system with a priority of 10. Other callbacks may register with a higher priority number to be called before this object, or with a lower priority number to be called after the listeners were notified. All listeners are supposed to have register by now, either in their readObject or validateObject methods. Notify them that this dataset has changed.

Throws: InvalidObjectException If the object cannot validate itself.