On 5/11/07, Alastair Maw <[EMAIL PROTECTED]> wrote:
Eelco Hillenius wrote: > Cheers. I'd also like to pull in what you proposed in another thread, > which is to introduce a more generic hook. E.g. > > public interface IValidationBindListener { > > void onAdded(Component component); > > void onRemoved(Component component); > } > > It would still need to be a separate interface to avoid tight coupling > between validators and components (as we like validators to be useful > outside of Wicket as well at some point).Yeah. I like that. I'd call it onAdd() and onRemove(), to keep things consistent (we use onAttach, not onAttached(), etc.). But this is what gets my vote. The only thing we'd have to think about would be removing behaviours when you remove the validator. We can let the validator worry about this with the onRemove() hook, obviously. The only slight issue with that is singleton behaviours that are used in multiple validators. If you add two validators which both add the same behaviour, then when you remove one of them, this behaviour will be removed. Maybe we need reference counting on that, so if the same instance of a behaviour is added twice, it still all works properly when you remove it once. ;-)
Yeah. Same thing goes for the same (singleton) behaviors added as normal behaviors and later on as validators. Note that at this stage we don't even support removing validators. Maybe we shouldn't to start with, as honestly, while it would make the API more complete, I can't realy think of good use cases. Eelco
