>It is shorter with three chars "c, "

Can you explain how that works?

Thanks
Sven


On 03.12.2016 12:36, Martin Grigorov wrote:
On Sat, Dec 3, 2016 at 12:20 PM, Sven Meier <[email protected]> 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 <[email protected]> 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




Reply via email to