I like this one :) IModel<String> personNameModel = Model.loadableDetachable(person::getName);
On Mon, Mar 14, 2016 at 1:44 PM, Tobias Soloschenko < [email protected]> wrote: > 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 > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > > >
