org.biojava.bio.symbol
Class AbstractSymbol
java.lang.Object
org.biojava.utils.AbstractChangeable
org.biojava.bio.symbol.AbstractSymbol
- All Implemented Interfaces:
- Annotatable, Symbol, Changeable
- Direct Known Subclasses:
- FundamentalAtomicSymbol, SimpleAtomicSymbol
public abstract class AbstractSymbol
- extends AbstractChangeable
- implements Symbol
The base-class for Symbol implementations.
- Since:
- 1.1
- Author:
- Matthew Pocock
annotationForwarder
protected transient ChangeForwarder annotationForwarder
AbstractSymbol
public AbstractSymbol()
getChangeSupport
protected ChangeSupport getChangeSupport(ChangeType changeType)
- Description copied from class:
AbstractChangeable
- Called to retrieve the ChangeSupport for this object.
Your implementation of this method should have the following structure:
ChangeSupport cs = super.getChangeSupport(ct);
if(someForwarder == null && ct.isMatching(SomeInterface.SomeChangeType)) {
someForwarder = new ChangeForwarder(...
this.stateVariable.addChangeListener(someForwarder, VariableInterface.AChange);
}
return cs;
It is usual for the forwarding listeners (someForwarder in this example) to
be transient and lazily instantiated. Be sure to register & unregister the
forwarder in the code that does the ChangeEvent handling in setter methods.
- Overrides:
getChangeSupport
in class AbstractChangeable
toString
public String toString()
- Overrides:
toString
in class Object