[Biojava-l] Proposal: ChangeType hierarchies
Thu, 22 Feb 2001 12:48:49 +0000
Thomas Down wrote:
> Now that we're comfortable working with ChangeEvents, I'd
> like to propose a really simple enhancement to the
> ChangeType objects:
> - Add two methods to ChangeType:
> public ChangeType getParent();
> public boolean isSubType(ChangeType t);
> - Add extra constructors to ChangeType objects which allow
> a parent to be specified. If the current (no-parent)
> constructors are used, we default to ChangeType.UNKNOWN
> (which becomes the root of the type hierarchy).
> [Open issue: what is the value of ChangeType.UNKNOWN.getParent()?]
null, I think. Alternatively, it is its own parent (uck).
> - ChangeEvent sources use isSubType() to check if a listener
> is interested in a given ChangeType, rather than simple
> object equality. Right now, I can't think of any event sources
> which don't use ChangeSupport, so that's the only place
> we would have to make this change.
> - Once nice side effect of this is that registering a listener
> with no specified type becomes exactly equivalent to listening
> for ChangeType.UNKNOWN
> This change would make it easy for specific implementations of
> an interface to fire specialized sub-types of some common change
> types. Client code can then listen either to one or more of
> the specialized types, OR to the common base type.
> Impact on current code would be minimal -- The only
> place I can think of where any changes will be needed
> is ChangeSupport.
We should also remove the add/removeChangeListener(listener) methods,
requiring add/removeChangeListener(listener, UNKNOWN) to be used instead.
> What do people think of this one?
> Biojava-l mailing list - Biojavafirstname.lastname@example.org
Do we have the ChangeEvent -> bean property event bridge? This should be
an early priority for 1.2