org.biojava.bio
Class Annotatable.AnnotationForwarder

java.lang.Object
  extended by org.biojava.utils.ChangeForwarder
      extended by org.biojava.bio.Annotatable.AnnotationForwarder
All Implemented Interfaces:
EventListener, ChangeListener
Enclosing interface:
Annotatable

Deprecated. use new ChangeForwarder.Retyper(source, cs, Annotation.PROPERTY) instead

public static class Annotatable.AnnotationForwarder
extends ChangeForwarder

A helper class so that you don't have to worry about forwarding events from the Annotation object to the Annotatable one.

Once a listener is added to your Annotatable that is interested in ANNOTATION events, then instantiate one of these and add it as a listener to the annotation object. It will forward the events to your listeners and translate them accordingly.

Author:
Matthew Pocock
For developers:
This will ease the pain of letting your Annotatable tell its listeners about changes in the Annotation.

Nested Class Summary
 
Nested classes/interfaces inherited from class org.biojava.utils.ChangeForwarder
ChangeForwarder.Retyper
 
Nested classes/interfaces inherited from interface org.biojava.utils.ChangeListener
ChangeListener.AlwaysVetoListener, ChangeListener.ChangeEventRecorder, ChangeListener.LoggingListener
 
Field Summary
 
Fields inherited from interface org.biojava.utils.ChangeListener
ALWAYS_VETO, LOG_TO_OUT
 
Constructor Summary
Annotatable.AnnotationForwarder(Object source, ChangeSupport cs)
          Deprecated. Create a new AnnotationForwarder that will forward events for a source using a change support.
 
Method Summary
protected  ChangeEvent generateEvent(ChangeEvent ce)
          Deprecated.  Return the new event to represent the originating event ce.
 
Methods inherited from class org.biojava.utils.ChangeForwarder
changeSupport, getSource, postChange, preChange
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Annotatable.AnnotationForwarder

public Annotatable.AnnotationForwarder(Object source,
                                       ChangeSupport cs)
Deprecated. 
Create a new AnnotationForwarder that will forward events for a source using a change support.

Parameters:
source - the Object to forward events on behalf of
cs - the change support that manages listeners
Method Detail

generateEvent

protected ChangeEvent generateEvent(ChangeEvent ce)
Deprecated. 
Description copied from class: ChangeForwarder

Return the new event to represent the originating event ce.

The returned ChangeEvent is the event that will be fired, and should be built from information in the original event. If it is null, then no event will be fired.

The default implementation just constructs a ChangeEvent of the same type that chains back to ce.

Overrides:
generateEvent in class ChangeForwarder
Parameters:
ce - the originating ChangeEvent
Returns:
a new ChangeEvent to pass on, or null if no event should be sent