-0 I see no good reason for IModel to extend from IDetachable. Users should be able to add this interface at their will.
>If IModel were a @FunctionalInterface, then you wouldn't need something like a SupplierModel; you could just use a lambda directly: IModel, as it's now, isn't a functional interface. >Then maybe just make IModel#setObject() default too .. There's no default implementation for IModel#setObject(). The one that was added is as much semantically wrong as to say IModel is a functional interface. Proposal: Why don't we make AbstractReadyOnlyModel the superinterface of IModel instead of to keep it as an abstract adaptor for IModel? So we would have a semantically correct functional interface. Pedro Santos On Tue, Oct 6, 2015 at 6:42 PM, Martin Grigorov <[email protected]> wrote: > Ugh, right! > > Then maybe just make IModel#setObject() default too ... > We will experiment! :) > > Martin Grigorov > Wicket Training and Consulting > https://twitter.com/mtgrigorov > > On Tue, Oct 6, 2015 at 11:27 PM, Michael Mosmann <[email protected]> > wrote: > > > .. @IReadOnlyModel: i hope, it will be easier to change then the last > time > > i tried it. Watch out for component default model stuff... > > > > :) > > > > Am 6. Oktober 2015 22:54:37 MESZ, schrieb Martin Grigorov < > > [email protected]>: > > >On Tue, Oct 6, 2015 at 10:43 PM, Andrew Geery <[email protected]> > > >wrote: > > > > > >> If IModel were a @FunctionalInterface, then you wouldn't need > > >something > > >> like a SupplierModel; you could just use a lambda directly: > > >> > > >> new Label("label", () -> "The current time is " + LocalDate.now()); > > >> > > > > > >This looks good indeed. > > >It seems we will add IReadOnlyModel soon! > > > > > > > > >> > > >> And since IModel is Serializable, the lambda will be too, without > > >having to > > >> have an artificial interface that is both Serializable & a Supplier. > > >> > > >> Thanks > > >> Andrew > > >> > > >> On Tue, Oct 6, 2015 at 4:21 PM, Martin Grigorov > > ><[email protected]> > > >> wrote: > > >> > > >> > Same for IRequestHandler#detach() > > >> > > > >> > Martin Grigorov > > >> > Wicket Training and Consulting > > >> > https://twitter.com/mtgrigorov > > >> > > > >> > On Mon, Oct 5, 2015 at 10:42 PM, Martijn Dashorst < > > >> > [email protected]> wrote: > > >> > > > >> > > Should we use an empty default implementation for IModel#detach? > > >> > > > > >> > > > > >> > > public class IModel<T> extends IDetachable > > >> > > { > > >> > > ... > > >> > > > > >> > > @Override > > >> > > default void detach() > > >> > > { > > >> > > } > > >> > > } > > >> > > > > >> > > This won't break existing applications, but might make it a bit > > >easier > > >> > > on the eyes to implement IModel directly. > > >> > > > > >> > > I'm not in favor of applying the default method to IDetachable, > > >> > > because that would defeat the interface's purpose IMO. > > >> > > > > >> > > WDYT? > > >> > > > > >> > > Martijn > > >> > > > > >> > > > >> > > > > -- > > Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail > > gesendet. >
