public class smallcomponent extends component {
  protected imodel initmodel() {
      imodel model=super.initmodel();
      return new compoundpropertymodel(model);
   }
}

-igor

On Sun, Feb 15, 2009 at 8:19 AM, Willis Blackburn <wbo...@panix.com> wrote:
> Hello,
>
> I have a situation that keeps coming up.  All of my solutions have seemed
> clumsy, which makes me think that there's a better way of approaching this
> that I just haven't figured out.  Can someone point me in the right
> direction?
>
> What I want is to have a Page that uses CompoundPropertyModel, and then
> include a component on that page that also uses CompoundPropertyModel.  So
> roughly it looks like this:
>
> public class BigObject {
>    public SmallObject get SmallObject() { ... }
> }
>
> public class SmallObject {
>    public String getName() { ... }
> }
>
> public class BigPage {
>    public BigPage(BigObject object) {
>        setModel(new CompoundPropertyModel(object));
>        add(new SmallComponent("smallObject"));
>    }
> }
>
> public class SmallComponent {
>    public SmallComponent() {
>        add(new Label("name"));
>    }
> }
>
> If I try to do just this, then I get an error because the label that's part
> of SmallComponent finds the BigPage model and fails because there's no
> property of BigObject called name.
>
> So obviously SmallComponent needs some model:
>
> public class SmallComponent {
>    public SmallComponent(IModel model) {
>        setModel(new CompoundPropertyModel(model));
>        add(new Label("name"));
>    }
> }
>
> But what model to give it?  I tried passing it new
> ComponentPropertyModel("smallObject"), which didn't work because
> ComponentPropertyModel implements IComponentAssignedModel and thus can't be
> directly wrapped in CompoundPropertyModel.  Adding a call to wrap() in the
> SmallComponent constructor fixed the problem, but I'm not sure if I can just
> call wrap and carry on or if there will be some unforeseen consequence of
> that down the road.  Is there a standard way of doing this?
>
> Thanks,
> Willis
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to