Johan Compagner wrote:
>
> That one really doesn't work if i understand correctly what it should do
>
> i guess it should do this:
>
> Form form = new Form(new CompoundModel(new Person))l
> form.add(new TextField(new ComponentPropertyModel("name")))
>
no. it's for use with something like ExternalLink which takes IModels
that cannot work with compound models yet. the code above already
works with just: new TextField("name")
>
> AssignmentWrapper(final Component component, final String propertyName)
>
> /**
> * @see wicket.model.INestedModelContainer#getNestedModel()
> */
> public IModel getNestedModel()
> {
> return component.getModel();
> }
>
> And this piece of code is really wrong. the getNestedModel should return
> the
> parent model of the current model and that is not the component.getModel()
> because that is the assigmentwrapper it self!
>
>
the component has no model in the case where you use this class
so getModel will find the compound model via initModel().
use case for this model is ONLY:
final ExternalLink titleLink = new ExternalLink("title",
new ComponentPropertyModel("link"), new
ComponentPropertyModel(
"title"));
where more than one model is being used by a component and that component
cannot directly support compound propertymodels. the idea is that this
functionality
will be folded into PropertyModel so the use case will just be:
final ExternalLink titleLink = new ExternalLink("title",
new PropertyModel("link"), new PropertyModel(
"title"));
again, the component has no model. it's referencing the compound property
model
of the parent.
--
View this message in context:
http://www.nabble.com/The-new-ComponentPropertyModel-tf3531176.html#a9859800
Sent from the Wicket - Dev mailing list archive at Nabble.com.