## org.biojava.bio
Class Annotatable.AnnotationForwarder

    java.lang.Object
      org.biojava.utils.ChangeForwarder
          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.

This will ease the pain of letting your Annotatable tell its listeners about changes in the Annotation.

Author:
  Matthew Pocock

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