Package org.jfree.chart.annotations
Class AbstractAnnotation
- java.lang.Object
-
- 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 theAnnotation
interface, containing a mechanism for registering change listeners.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private javax.swing.event.EventListenerList
listenerList
Storage for registered change listeners.private boolean
notify
A flag that indicates whether listeners should be notified about changes of the annotation.
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractAnnotation()
Constructs an annotation.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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)
Returnstrue
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.private void
readObject(java.io.ObjectInputStream stream)
Restores a serialized object.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.private void
writeObject(java.io.ObjectOutputStream stream)
Handles serialization.
-
-
-
Method Detail
-
addChangeListener
public void addChangeListener(AnnotationChangeListener listener)
Registers an object to receive notification of changes to the annotation.- Specified by:
addChangeListener
in interfaceAnnotation
- 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 interfaceAnnotation
- Parameters:
listener
- the object to deregister.- See Also:
addChangeListener(AnnotationChangeListener)
-
hasListener
public boolean hasListener(java.util.EventListener listener)
Returnstrue
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.
-
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 theAnnotationChangeListener
references that have been registered with this annotation.- Overrides:
clone
in classjava.lang.Object
- Returns:
- A clone.
- Throws:
java.lang.CloneNotSupportedException
- if the annotation does not support cloning.
-
writeObject
private void writeObject(java.io.ObjectOutputStream stream) throws java.io.IOException
Handles serialization.- Parameters:
stream
- the output stream.- Throws:
java.io.IOException
- if there is an I/O problem.
-
readObject
private void readObject(java.io.ObjectInputStream stream) throws java.io.IOException, java.lang.ClassNotFoundException
Restores a serialized object.- Parameters:
stream
- the input stream.- Throws:
java.io.IOException
- if there is an I/O problem.java.lang.ClassNotFoundException
- if there is a problem loading a class.
-
-