Re: PropertyModel pointing at an IModel property
What happens if you user "someModel.object"? On Wed, Nov 11, 2015 at 10:48 AM, Tom Götzwrote: > > Hi there, > > I have the following situation: > > > MyClass extends Panel { > >private IModel someModel; > >MyClass(String id) { > super(id); > add(new Label(„label“, PropertyModel.of(this, „someModel“)); >} > > } > > > But instead of displaying someModel’s modelObject, the Label displays > someModel.toString(), which is how PropertyResolver is implemented (does > not check if value instance IModel …). Is there a best practice how to > handle such constructs? > > Cheers, >Tom > > -- Regards - Ernesto Reinaldo Barreiro
Re: PropertyModel pointing at an IModel property
Yeah this will work, thanks. I did fear that somebody came around with that proposal ;-) It would feel more „natural" if PropertyResolver/PropertyModel would care about calling model.getObject() (if the target value is an instance of IModel) though. Tom > On 11.11.2015, at 10:51, Ernesto Reinaldo Barreirowrote: > > What happens if you user "someModel.object"? > > On Wed, Nov 11, 2015 at 10:48 AM, Tom Götz wrote: > >> >> Hi there, >> >> I have the following situation: >> >> >> MyClass extends Panel { >> >> private IModel someModel; >> >> MyClass(String id) { >> super(id); >> add(new Label(„label“, PropertyModel.of(this, „someModel“)); >> } >> >> } >> >> >> But instead of displaying someModel’s modelObject, the Label displays >> someModel.toString(), which is how PropertyResolver is implemented (does >> not check if value instance IModel …). Is there a best practice how to >> handle such constructs? >> >> Cheers, >> Tom >> >> > > > -- > Regards - Ernesto Reinaldo Barreiro - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: PropertyModel pointing at an IModel property
I see your point... I do not know if such a change could break existing applications. Thought I guess not. So, you if last thing after the . is a model, i.e. a.b -> b, is a model automatically call b.getObject On Wed, Nov 11, 2015 at 11:02 AM, Tom Götzwrote: > Yeah this will work, thanks. I did fear that somebody came around with > that proposal ;-) > > It would feel more „natural" if PropertyResolver/PropertyModel would care > about calling model.getObject() (if the target value is an instance of > IModel) though. > >Tom > > > > On 11.11.2015, at 10:51, Ernesto Reinaldo Barreiro > wrote: > > > > What happens if you user "someModel.object"? > > > > On Wed, Nov 11, 2015 at 10:48 AM, Tom Götz wrote: > > > >> > >> Hi there, > >> > >> I have the following situation: > >> > >> > >> MyClass extends Panel { > >> > >> private IModel someModel; > >> > >> MyClass(String id) { > >> super(id); > >> add(new Label(„label“, PropertyModel.of(this, „someModel“)); > >> } > >> > >> } > >> > >> > >> But instead of displaying someModel’s modelObject, the Label displays > >> someModel.toString(), which is how PropertyResolver is implemented (does > >> not check if value instance IModel …). Is there a best practice how to > >> handle such constructs? > >> > >> Cheers, > >> Tom > >> > >> > > > > > > -- > > Regards - Ernesto Reinaldo Barreiro > > > > > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > -- Regards - Ernesto Reinaldo Barreiro
Re: PropertyModel pointing at an IModel property
Yeah, I can’t think of any situation where I’d prefer to see model.toString() instead of model.getObject().toString() … Tom > On 11.11.2015, at 11:12, Ernesto Reinaldo Barreirowrote: > > So, you if last thing after the . is a model ==> So, if the last thing > after . is a model > > On Wed, Nov 11, 2015 at 11:11 AM, Ernesto Reinaldo Barreiro < > reier...@gmail.com> wrote: > >> I see your point... I do not know if such a change could break existing >> applications. Thought I guess not. So, you if last thing after the . is a >> model, i.e. a.b -> b, is a model automatically call b.getObject >> >> On Wed, Nov 11, 2015 at 11:02 AM, Tom Götz wrote: >> >>> Yeah this will work, thanks. I did fear that somebody came around with >>> that proposal ;-) >>> >>> It would feel more „natural" if PropertyResolver/PropertyModel would care >>> about calling model.getObject() (if the target value is an instance of >>> IModel) though. >>> >>> Tom >>> >>> On 11.11.2015, at 10:51, Ernesto Reinaldo Barreiro >>> wrote: What happens if you user "someModel.object"? On Wed, Nov 11, 2015 at 10:48 AM, Tom Götz wrote: > > Hi there, > > I have the following situation: > > > MyClass extends Panel { > > private IModel someModel; > > MyClass(String id) { > super(id); > add(new Label(„label“, PropertyModel.of(this, „someModel“)); > } > > } > > > But instead of displaying someModel’s modelObject, the Label displays > someModel.toString(), which is how PropertyResolver is implemented >>> (does > not check if value instance IModel …). Is there a best practice how to > handle such constructs? > > Cheers, > Tom > > -- Regards - Ernesto Reinaldo Barreiro >>> >>> >>> >>> >>> >>> - >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >>> >> >> >> -- >> Regards - Ernesto Reinaldo Barreiro >> > > > > -- > Regards - Ernesto Reinaldo Barreiro - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: PropertyModel pointing at an IModel property
So, you if last thing after the . is a model ==> So, if the last thing after . is a model On Wed, Nov 11, 2015 at 11:11 AM, Ernesto Reinaldo Barreiro < reier...@gmail.com> wrote: > I see your point... I do not know if such a change could break existing > applications. Thought I guess not. So, you if last thing after the . is a > model, i.e. a.b -> b, is a model automatically call b.getObject > > On Wed, Nov 11, 2015 at 11:02 AM, Tom Götzwrote: > >> Yeah this will work, thanks. I did fear that somebody came around with >> that proposal ;-) >> >> It would feel more „natural" if PropertyResolver/PropertyModel would care >> about calling model.getObject() (if the target value is an instance of >> IModel) though. >> >>Tom >> >> >> > On 11.11.2015, at 10:51, Ernesto Reinaldo Barreiro >> wrote: >> > >> > What happens if you user "someModel.object"? >> > >> > On Wed, Nov 11, 2015 at 10:48 AM, Tom Götz wrote: >> > >> >> >> >> Hi there, >> >> >> >> I have the following situation: >> >> >> >> >> >> MyClass extends Panel { >> >> >> >> private IModel someModel; >> >> >> >> MyClass(String id) { >> >> super(id); >> >> add(new Label(„label“, PropertyModel.of(this, „someModel“)); >> >> } >> >> >> >> } >> >> >> >> >> >> But instead of displaying someModel’s modelObject, the Label displays >> >> someModel.toString(), which is how PropertyResolver is implemented >> (does >> >> not check if value instance IModel …). Is there a best practice how to >> >> handle such constructs? >> >> >> >> Cheers, >> >> Tom >> >> >> >> >> > >> > >> > -- >> > Regards - Ernesto Reinaldo Barreiro >> >> >> >> >> >> - >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> > > > -- > Regards - Ernesto Reinaldo Barreiro > -- Regards - Ernesto Reinaldo Barreiro
Re: PropertyModel pointing at an IModel property
Hi, At first sight this proposal sounds natural and easy to implement. But then we have to support the same for #setObject() and #detach(). Issues: 1) #set - do the application wants to set the model object or replace the model itself ?! 2) #detach - Wicket will have to lookup the leaf object in #detach() *always* just to see whether it is an IModel to detach it too. This will be a cost that all apps should pay and very few of them will actually use. Martin Grigorov Wicket Training and Consulting https://twitter.com/mtgrigorov On Wed, Nov 11, 2015 at 11:17 AM, Tom Götzwrote: > Yeah, I can’t think of any situation where I’d prefer to see > model.toString() instead of model.getObject().toString() … > >Tom > > > > On 11.11.2015, at 11:12, Ernesto Reinaldo Barreiro > wrote: > > > > So, you if last thing after the . is a model ==> So, if the last thing > > after . is a model > > > > On Wed, Nov 11, 2015 at 11:11 AM, Ernesto Reinaldo Barreiro < > > reier...@gmail.com> wrote: > > > >> I see your point... I do not know if such a change could break existing > >> applications. Thought I guess not. So, you if last thing after the . is > a > >> model, i.e. a.b -> b, is a model automatically call b.getObject > >> > >> On Wed, Nov 11, 2015 at 11:02 AM, Tom Götz wrote: > >> > >>> Yeah this will work, thanks. I did fear that somebody came around with > >>> that proposal ;-) > >>> > >>> It would feel more „natural" if PropertyResolver/PropertyModel would > care > >>> about calling model.getObject() (if the target value is an instance of > >>> IModel) though. > >>> > >>> Tom > >>> > >>> > On 11.11.2015, at 10:51, Ernesto Reinaldo Barreiro < > reier...@gmail.com> > >>> wrote: > > What happens if you user "someModel.object"? > > On Wed, Nov 11, 2015 at 10:48 AM, Tom Götz wrote: > > > > > Hi there, > > > > I have the following situation: > > > > > > MyClass extends Panel { > > > > private IModel someModel; > > > > MyClass(String id) { > > super(id); > > add(new Label(„label“, PropertyModel.of(this, „someModel“)); > > } > > > > } > > > > > > But instead of displaying someModel’s modelObject, the Label displays > > someModel.toString(), which is how PropertyResolver is implemented > >>> (does > > not check if value instance IModel …). Is there a best practice how > to > > handle such constructs? > > > > Cheers, > > Tom > > > > > > > -- > Regards - Ernesto Reinaldo Barreiro > >>> > >>> > >>> > >>> > >>> > >>> - > >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > >>> For additional commands, e-mail: users-h...@wicket.apache.org > >>> > >>> > >> > >> > >> -- > >> Regards - Ernesto Reinaldo Barreiro > >> > > > > > > > > -- > > Regards - Ernesto Reinaldo Barreiro > > > > > > - > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > >