## org.biojava.bio
Class MergeAnnotation.PropertyForwarder

    java.lang.Object
      org.biojava.utils.ChangeForwarder
          org.biojava.bio.MergeAnnotation.PropertyForwarder

All Implemented Interfaces:
  EventListener, ChangeListener

Enclosing class:
  MergeAnnotation

    protected class MergeAnnotation.PropertyForwarder

extends ChangeForwarder

Listener used to forward changes for any of the underlying annotations to listeners on this annotation.

Since:
  1.2
Author:
  Thomas Down, 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
`MergeAnnotation.PropertyForwarder(Object source, ChangeSupport cs)` Create a new forwarder on behalf of a source using the change support.

Method Summary
`ChangeEvent` `generateEvent(ChangeEvent ce)` 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

### MergeAnnotation.PropertyForwarder

    public MergeAnnotation.PropertyForwarder(Object source,
                                             ChangeSupport cs)

  Create a new forwarder on behalf of a source using the change support.

  Parameters:
    `source` - the new source of events
    `cs` - the ChangeSupport used to manage listeners

Method Detail

### generateEvent

    public ChangeEvent generateEvent(ChangeEvent ce)

  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