On Sat, Dec 3, 2016 at 12:20 PM, Sven Meier <s...@meiers.net> wrote: > Hi, > > I see your point. > > We could have both: > > label1.add(Behavior.onTag(t->t.put(key, label1.getId())); > label1.add(Behavior.onTag((c, t)->t.put(key, c.getId())); > > Both the Eclipse and JDK compiler accept these. > The component should come as first argument as in > Behavior#onComponentTag(Component, ComponentTag) though. > > I'd like to preserve the first one because it's syntactically shorter. >
It is shorter with three chars "c, ". IMO one method is enough. The IDE helps anyway. > > Have fun > Sven > > > > On 02.12.2016 17:58, Martijn Dashorst wrote: > >> But it would add another reference to the component, increasing the >> footprint. It also enables you to 'bind' to another (unintended) >> component that's available in the scope. >> >> Label label1 = new Label(...); >> ... >> Label label4 = new Label(...); >> >> label1.add(Behavior.onTag(t->t.put(key, label4.getId())); >> >> >> When supplying the component as a second parameter in the onTag, you >> direct the developer to know what the intention is: >> >> label1.add(Behavior.onTag(t,c -> t.put(key, c.getId())); >> >> Martijn >> >> >> >> >> On Fri, Nov 25, 2016 at 9:27 PM, Sven Meier <s...@meiers.net> wrote: >> >>> Hi, >>> >>> the behavior is added to a single component only and readily available >>> anyway in scope: >>> >>> component.add(onTag(tag -> tag.put(key, component.getId())); >>> >>> What do we gain when the same component is given as argument? >>> >>> component.add(onTag(component, tag -> tag.put(key, >>> component.getId()))); >>> >>> Note that the first component has a better type, the argument would just >>> be >>> a Component: >>> >>> foo.add(onTag(tag -> tag.put(key, foo.getBar()))); >>> >>> Regards >>> Sven >>> >>> >>> >>> On 25.11.2016 20:51, Martin Grigorov wrote: >>> >>>> Hi, >>>> >>>> At Martijn's slides from ApacheCon [1] I've noticed that critiques he >>>> mention is that org.apache.wicket.behavior.Behavior#onTag() uses >>>> SerializableConsumer<ComponentTag> and ignores the Component parameter. >>>> I agree that having the component would be handy! >>>> >>>> Any good reasons why it should be like this ? >>>> >>>> 1. >>>> >>>> http://events.linuxfoundation.org/sites/events/files/slides/ >>>> Whats%20up%20with%20Wicket%208%20and%20Java%208.pdf >>>> >>>> >>>> Martin Grigorov >>>> Wicket Training and Consulting >>>> https://twitter.com/mtgrigorov >>>> >>>> >> >> >