org.jfree.chart.annotations
Class AbstractAnnotation

java.lang.Object
  extended by org.jfree.chart.annotations.AbstractAnnotation
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Annotation
Direct Known Subclasses:
AbstractXYAnnotation, CategoryLineAnnotation, TextAnnotation

public abstract class AbstractAnnotation
extends java.lang.Object
implements Annotation, java.lang.Cloneable, java.io.Serializable

An abstract implementation of the Annotation interface, containing a mechanism for registering change listeners.

Since:
1.0.14
See Also:
Serialized Form

Constructor Summary
protected AbstractAnnotation()
          Constructs an annotation.
 
Method Summary
 void addChangeListener(AnnotationChangeListener listener)
          Registers an object to receive notification of changes to the annotation.
 java.lang.Object clone()
          Returns a clone of the annotation.
protected  void fireAnnotationChanged()
          Notifies all registered listeners that the annotation has changed.
 boolean getNotify()
          Returns a flag that indicates whether listeners should be notified about changes to the annotation.
 boolean hasListener(java.util.EventListener listener)
          Returns true if the specified object is registered with the annotation as a listener.
protected  void notifyListeners(AnnotationChangeEvent event)
          Notifies all registered listeners that the annotation has changed.
 void removeChangeListener(AnnotationChangeListener listener)
          Deregisters an object so that it no longer receives notification of changes to the annotation.
 void setNotify(boolean flag)
          Sets a flag that indicates whether listeners should be notified about changes of an annotation.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractAnnotation

protected AbstractAnnotation()
Constructs an annotation.

Method Detail

addChangeListener

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

Specified by:
addChangeListener in interface Annotation
Parameters:
listener - the object to register.
See Also:
removeChangeListener(AnnotationChangeListener)

removeChangeListener

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

Specified by:
removeChangeListener in interface Annotation
Parameters:
listener - the object to deregister.
See Also:
addChangeListener(AnnotationChangeListener)

hasListener

public boolean hasListener(java.util.EventListener listener)
Returns true if the specified object is registered with the annotation 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.
See Also:
addChangeListener(AnnotationChangeListener), removeChangeListener(AnnotationChangeListener)

fireAnnotationChanged

protected void fireAnnotationChanged()
Notifies all registered listeners that the annotation has changed.

See Also:
addChangeListener(AnnotationChangeListener)

notifyListeners

protected void notifyListeners(AnnotationChangeEvent event)
Notifies all registered listeners that the annotation has changed.

Parameters:
event - contains information about the event that triggered the notification.
See Also:
addChangeListener(AnnotationChangeListener), removeChangeListener(AnnotationChangeListener)

getNotify

public boolean getNotify()
Returns a flag that indicates whether listeners should be notified about changes to the annotation.

Returns:
the flag.
See Also:
setNotify(boolean)

setNotify

public void setNotify(boolean flag)
Sets a flag that indicates whether listeners should be notified about changes of an annotation.

Parameters:
flag - the flag
See Also:
getNotify()

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Returns a clone of the annotation. The cloned annotation will NOT include the AnnotationChangeListener references that have been registered with this annotation.

Overrides:
clone in class java.lang.Object
Returns:
A clone.
Throws:
java.lang.CloneNotSupportedException - if the annotation does not support cloning.