Hi Pedro,

I am not sure I understand you!
This discussion was 1.5 years ago ...

On Mon, Mar 27, 2017 at 1:39 AM, Pedro Santos <[email protected]> wrote:

> -0
>
> I see no good reason for IModel to extend from IDetachable. Users should be
> able to add this interface at their will.
>

IModel extends IDetachable since forever
https://github.com/apache/wicket/blob/wicket-1.3.x/jdk-1.4/wicket/src/main/java/org/apache/wicket/model/IModel.java#L56


>
> >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.
>

Yes, it is!
https://github.com/apache/wicket/blob/8a4e1b3c24f4ce1fc3e44ca1b5a9230158d9b584/wicket-core/src/main/java/org/apache/wicket/model/IModel.java#L63


>
> >Then maybe just make IModel#setObject() default too ..
>
> There's no default implementation for IModel#setObject(). The one that was
>

Yes, there is!
https://github.com/apache/wicket/blob/8a4e1b3c24f4ce1fc3e44ca1b5a9230158d9b584/wicket-core/src/main/java/org/apache/wicket/model/IModel.java#L81


> 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.
>

IMO the current design looks and works quite good! No need to change
anything!


>
>
>
> 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.
> >
>

Reply via email to