'onEvent' ... 'onUpdate' ... 'onUpdateChoice' from AFCCUB.
Cool 8) Sven On 11.03.2016 23:00, Martin Grigorov wrote:
On Fri, Mar 11, 2016 at 10:33 PM, Sven Meier <[email protected]> wrote:Hi, I don't like to add additional classes and/or longer class names. Neither should we deprecate any 'old' solutions. I'm not keen on the Component#on(String, AjaxListener) method either. My idea: 3) public static AjaxEventBehavior lambda(String event, WicketConsumer<AjaxRequestTarget> consumer) { return new AjaxEventBehavior(event) { @Override protected void onEvent(AjaxRequestTarget target) { consumer.accept(target); } }; }I like it! The method name could be 'onEvent' though. This way one could import it statically together with 'onUpdate' from AjaxFormComponentUpdatingBehavior and 'onUpdateChoice' from AFCCUB.Usage: public MyPanel(String id) { super(id); label = ...; label.add(AjaxEventBehavior.lambda("click", this::onDoAjax); } private void onDoAjax(AjaxRequestTarget target) { ... } Sven On 11.03.2016 21:45, Martin Grigorov wrote:Hi, I'd like to ask you for your opinion on the following options: 1) introduce java.util.function.Consumer in the existing components and behaviors Example: https://github.com/apache/wicket/blob/lambdas-ajax/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java Pros: - reuse the same components/behaviors as before Cons: - the components/behaviors are no more abstract and the developer may forget to add implementation, i.e. provide consumer or override #onXyz() method 2) introduce new components and behaviors Example: https://github.com/apache/wicket/blob/lambdas-ajax-L/wicket-core/src/main/java/org/apache/wicket/ajax/LAjaxEventBehavior.java Pros: - more cleaner API Cons: - yet another class for the same functionality - a bit uglier name. Whatever name I imagine doesn't sound better than the name of the original class 3) 2) but in separate module (e.g. wicket-java8) 4) 2) but in WicketStuff project 5) Other ideas ? Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov
