A helper base class for notify listeners. It holds reference to its
WeakListener wrapper.
Without this class, an observer which uses weak listeners would need to hold
two references. The first to the original ChangeListener to prevent
it from being garbage collected. The second to the WeakListener
wrapper so it can unregister once registered listener. The second reference
is eliminated by using this class.
Example:
public class Observer {
private AbstractNotifyListener listener = new AbstractNotifyListener() {
public void handle(Bean bean, PropertyReference property) {
// do something
}
};
public void start() {
subject.addChangeListener(property, listener.getWeakListener());
}
public void stop() {
subject.removeChangeListener(property, listener.getWeakListener());
}
}