Hi all, It would ne very nice if the method names for the lambdas are name similar, this way I could add a metric to collect data in a more general way for wicket-metrics.
WDYT? Example: execution(* org.apache.wicket.*Supplier(..)) - First star is the modifier - Second star is the wildcard for the lambda class names - .. Any args kind regards Tobias > Am 14.03.2016 um 13:23 schrieb Sven Meier <[email protected]>: > > Hi Martin, > > speaking of someting to nuke - insteaf of: > > IModel<String> personNameModel = new > SupplierCachingModel<>(person::getName); > > Why not simply? > > IModel<String> personNameModel = > Model.loadableDetachable(person::getName); > > I didn't like the name "Supplier*Caching*Model" anyway. > > Regards > Sven > > > >> On 14.03.2016 12:36, Martin Grigorov wrote: >> Yes! >> >> - IModel<String> personNameModel = new >> SupplierModel<>(person::getName); >> + IModel<String> personNameModel = person::getName; >> >> Definitely makes sense to make it shorter! >> >> I'll nuke it now! >> >> >> Martin Grigorov >> Wicket Training and Consulting >> https://twitter.com/mtgrigorov >> >>> On Mon, Mar 14, 2016 at 10:55 AM, Sven Meier <[email protected]> wrote: >>> >>> Hi, >>> >>> IModel being a functional interface now, what's the use of SupplierModel ? >>> IMHO we can get rid of it. >>> >>> Regards >>> Sven >>> >>> >>> >>>> On 12.03.2016 23:39, Tobias Soloschenko wrote: >>>> >>>> Yep - I am very happy about it, too - cool features for wicket 8 :-) >>>> >>>> Great work all! >>>> >>>> kind regards >>>> >>>> Tobias >>>> >>>>> Am 12.03.16 um 23:38 schrieb Sven Meier: >>>>> >>>>> As a bonus IModel is a @FunctionalInterface now and one can do things >>>>>> like: >>>>>> >>>>>> new Link<String>("", () -> "abc") { >>>>>> @Override >>>>>> public void onClick() >>>>>> { >>>>>> // ... >>>>>> } >>>>>> }; >>>>>> >>>>> Seems we're getting a grip on Wicket+lambdas finally :) >>>>> >>>>> Thanks >>>>> Sven >>>>> >>>>> >>>>>> On 12.03.2016 23:13, Martin Grigorov wrote: >>>>>> >>>>>> On Sat, Mar 12, 2016 at 11:01 PM, Martin Grigorov <[email protected] >>>>>> wrote: >>>>>> >>>>>>> On Sat, Mar 12, 2016 at 7:48 PM, Sven Meier <[email protected]> wrote: >>>>>>> Hi, >>>>>>>> 1) >>>>>>>> we've been twiddling with read-only models for some time now, and >>>>>>>> IIRC it >>>>>>>> never quite worked out. >>>>>>>> I don't see much benefit in IReadOnlyModel as it is proposed now - >>>>>>>> perhaps I'm missing the point though. >>>>>>>> >>>>>>>> How about adding another default to IModel: >>>>>>>> >>>>>>>> default void setObject(final T object) { >>>>>>>> throw new UnsupportedOperationException(); >>>>>>>> } >>>>>>>> >>>>>>>> This way we can get rid of AbstractReadOnlyModel too :P >>>>>>>> >>>>>>>> A minor thing that bothers me here is that currently AROM#setObject() >>>>>>> is >>>>>>> final, so subclasses are effectively read only too. >>>>>>> By moving this method to IModel we cannot make any guarantees. >>>>>>> But I guess it will always be used as an anonymous inner class, as >>>>>>> AROM is >>>>>>> used now. If someone wants to have children then (s)he will have to >>>>>>> create >>>>>>> a custom class and there (s)he can make it 'final'. >>>>>>> Let's do it! >>>>>>> >>>>>>> As a bonus IModel is a @FunctionalInterface now and one can do things >>>>>> like: >>>>>> >>>>>> new Link<String>("", () -> "abc") { >>>>>> @Override >>>>>> public void onClick() >>>>>> { >>>>>> // ... >>>>>> } >>>>>> }; >>>>>> >>>>>> >>>>>> >>>>>>> 2) >>>>>>>> I don't see a need for this. >>>>>>>> >>>>>>>> Have fun >>>>>>>> Sven >>>>>>>> >>>>>>>> >>>>>>>> how about adding a >>>>>>>> >>>>>>>> >>>>>>>> On 11.03.2016 22:54, Martin Grigorov wrote: >>>>>>>> >>>>>>>> Hi, >>>>>>>>> At "lambdas" [1] branch there are two more features: >>>>>>>>> >>>>>>>>> 1) IReadOnlyModel by Michael Mossman >>>>>>>>> >>>>>>>>> At the moment there are AbstractReadOnlyModel and SupplierModel >>>>>>>>> (extends >>>>>>>>> from AROM). >>>>>>>>> Initially while MM suggested IROM I thought it will be a parent >>>>>>>>> interface >>>>>>>>> of IModel but it is the opposite - IROM extends from IModel. >>>>>>>>> I don't see need of IROM. The classes look enough to me. >>>>>>>>> >>>>>>>>> 2) stream based iteration of container's children by Andrea Del Bene >>>>>>>>> I have said my opinion before - the visitor approach is faster than >>>>>>>>> the >>>>>>>>> stream based one. >>>>>>>>> In addition we have to remove the deprecated >>>>>>>>> org.apache.wicket.util.iterator.AbstractHierarchyIterator and its >>>>>>>>> related >>>>>>>>> classes because it fails with StackoverflowError when used in a page >>>>>>>>> with >>>>>>>>> bigger component tree. >>>>>>>>> So I don't see a reason for this feature. >>>>>>>>> >>>>>>>>> Your option on them ? >>>>>>>>> >>>>>>>>> 1. https://github.com/apache/wicket/compare/lambdas >>>>>>>>> >>>>>>>>> Martin Grigorov >>>>>>>>> Wicket Training and Consulting >>>>>>>>> https://twitter.com/mtgrigorov >>>>>>>>> >>>>>>>>> >>>>>>>>> >
