Hi Sven, The only problem I see with the interfaces approach is that it won't be easy to extend them with extra functionality in a minor release if this is ever needed.
Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Tue, Apr 28, 2015 at 12:47 PM, Sven Meier <[email protected]> wrote: > Hi Martin, > > why not just define interfaces in Components, and allow behaviors to > implement these? > Not that I'm convinced of the usefulness of this feature :P. > > Regards > Sven > > > > On 28.04.2015 11:23, Martin Grigorov wrote: > >> Hi Sven, >> >> I imagine them as inner static classes in AbstractLink, Button and Form >> classes. >> AjaxRequestTarget will be an optional property for the event payload. I.e. >> AjaxButton will set it, Button will leave it null. >> >> Martin Grigorov >> Wicket Training and Consulting >> https://twitter.com/mtgrigorov >> >> On Tue, Apr 28, 2015 at 12:11 PM, Sven Meier <[email protected]> wrote: >> >> Hi, >>> >>> how (where) will these events (=payloads?) be defined? >>> >>> Sven >>> >>> >>> On 28.04.2015 08:29, Martin Grigorov wrote: >>> >>> Hi Dan, >>>> >>>> On Mon, Apr 27, 2015 at 4:21 PM, Dan Haywood < >>>> [email protected]> >>>> wrote: >>>> >>>> Sounds a bit similar to Apache Isis' support for domain events (albeit >>>> >>>>> at a >>>>> higher level of abstraction). >>>>> >>>>> we've found that feature very useful, so I would imagine there would be >>>>> benefits from implementing this lower more general support in Wicket. >>>>> >>>>> Thanks for sharing your experience! >>>>> >>>> >>>> You could also perhaps submit events for the validation (allowing >>>> >>>>> subscribers to veto changes). >>>>> >>>>> IMO there is no need to do this for validation. >>>>> >>>> Currently when an IValidator is added to a FormComponent it is >>>> automatically wrapped in a Behavior [1]. >>>> So Wicket will use the typesafer IValidator#validate(IValidatable) >>>> instead >>>> of Behavior#onEvent(IEvent) >>>> >>>> >>>> 1. >>>> >>>> >>>> https://github.com/apache/wicket/blob/master/wicket-core/src/main/java/org/apache/wicket/markup/html/form/FormComponent.java#L515 >>>> >>>> >>>> Cheers >>>> >>>>> Dan >>>>> >>>>> >>>>> >>>>> On 27 April 2015 at 13:13, Martin Grigorov <[email protected]> >>>>> wrote: >>>>> >>>>> Hi, >>>>> >>>>>> https://issues.apache.org/jira/browse/WICKET-5884 suggest an >>>>>> interesting >>>>>> feature: >>>>>> >>>>>> All links/buttons/forms to broadcast Wicket events to their Behaviors >>>>>> >>>>>> about >>>>> >>>>> the event. >>>>>> I.e. a Link/Button will tell all its Behaviors that it has been >>>>>> clicked, >>>>>> >>>>>> a >>>>> >>>>> Form will tell that it has been submitted. >>>>>> The broadcast would be with type EXACT so only the current component >>>>>> and >>>>>> its behaviors will be notified via #onEvent(). >>>>>> This way the application developer can reuse functionality that should >>>>>> be >>>>>> executed for several links/submitters. >>>>>> >>>>>> While I see how this could be useful for some applications I also see >>>>>> >>>>>> that >>>>> >>>>> it will add to the processing time for all applications no matter >>>>>> whether >>>>>> they use the feature or not. >>>>>> >>>>>> Also I guess some user will ask for OnBeforeButtonSubmitEvent + >>>>>> OnAfterButtonSubmitEvent (same for Link and Form) so the extra >>>>>> processing >>>>>> time be doubled. >>>>>> >>>>>> What do you think about the feature? >>>>>> >>>>>> Martin Grigorov >>>>>> Wicket Training and Consulting >>>>>> https://twitter.com/mtgrigorov >>>>>> >>>>>> >>>>>> >
