On Wed, Dec 2, 2015 at 1:19 PM, andrea del bene <an.delb...@gmail.com> wrote:
> You can see a fantastic example :D of instance method reference in > MarkupContainerTest where I filter children components with > Class::isInstance: > > private Stream<Component> filterChildrenStreamByClass(MarkupContainer > container, Class<? extends Component> filterClass) > { > return container.childrenStream().filter(filterClass::isInstance); > } > > IMO, we should be careful with this. This code is shorter but definitely slower than the old code. > > Wicket on functional-steroids :) > > > > On 02/12/2015 09:54, Michael Mosmann wrote: > >> Hi, >> >> .. got it. Was on a wrong track:) >> >> We must use BiConsumer for setter-like methods.. >> >> mm:) >> >> Am 02.12.2015 um 09:39 schrieb Sven Meier: >> >>> Hi, >>> >>> It is sad, that there is no way to get some kind of instance method >>>> reference in java8. >>>> >>> instance::getName *is* an instance method reference. >>> >>> IModel<String> model=Models.of(instanceModel, SomeBean::getName >>>> ,SomeBean::setName); // does not compile >>>> >>> org.wicketstuff.lambda.model.LambdaModel works fine, so what does not >>> compile in your example? >>> >>> Did I miss something? :P >>> >>> Sven >>> >>> >>> On 02.12.2015 08:53, Michael Mosmann wrote: >>> >>>> Hi, >>>> >>>> >>>> >>>> Some first thoughts on this.. >>>> >>>> If we want to use lambdas for some kind of property model, the straight >>>> forward way of doing this looks like: >>>> >>>> SomeBean instance=new SomeBean(); >>>> IModel<String> model=Models.of(instance::getName,instance.setName); >>>> >>>> But this will not work, if you have >>>> >>>> IModel<SomeBean> instanceModel=...; >>>> >>>> So then we could use: >>>> IModel<String> model=Models.of(instanceModel, x-> x.getName() ,(x,v) -> >>>> x.setName(v)); >>>> >>>> It is sad, that there is no way to get some kind of instance method >>>> reference in java8. >>>> >>>> What i would like to write is something like this: >>>> >>>> IModel<String> model=Models.of(instanceModel, SomeBean::getName >>>> ,SomeBean::setName); // does not compile >>>> >>>> IMHO the correct way to solve this looks a little strange, but is from >>>> my point of view more consistent... >>>> >>>> IModel<String> model=Models.of(instanceModel, x -> x::getName, x -> >>>> x::setName) >>>> >>>> the Method looks like this: >>>> >>>> public <T,V> of(IModel<T> model, Function<T, Supplier<V>> getter, >>>> Function<T, Consumer<V>> setter); >>>> >>>> (* where Function, Supplier and Consumer must extends Serializable) >>>> >>>> am i wrong? did i miss something? because i am far from happy with >>>> this.. >>>> >>>> mm:) >>>> >>>> >>>> Am 01.12.2015 um 12:45 schrieb andrea del bene: >>>> >>>>> >>>>> Ok, I'd like to play too :) ... >>>>> >>>>>> AFAIK we're still playing with lambdas. I still have a message I need >>>>>> to send to dev@ regarding lambdas... >>>>>> >>>>>> Martijn >>>>>> >>>>>> >>>>>> On Mon, Nov 30, 2015 at 3:57 PM, Michael Mosmann <mich...@mosmann.de> >>>>>> wrote: >>>>>> >>>>>>> Hi, >>>>>>> >>>>>>> AFAIK not.. I thought it is something like a playground. Am i wrong? >>>>>>> >>>>>>> Michael >>>>>>> >>>>>>> Am 30. November 2015 15:47:42 MEZ, schrieb andrea del bene >>>>>>> <an.delb...@gmail.com>: >>>>>>> >>>>>>>> Hi, >>>>>>>> >>>>>>>> are we tracking changes to lambda branch with issues on JIRA? >>>>>>>> >>>>>>>> Andrea. >>>>>>>> >>>>>>> -- >>>>>>> Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail >>>>>>> gesendet. >>>>>>> >>>>>> >>>>>> >