If you're interested in using proxies, you could check out Apache
Commons Proxy.  It hasn't been released yet, but I would imagine we
could get a release out the door in short order if it was wanted.  The
cool thing about ACP is that you can swap out the proxying technology
easily (JDK proxies, CGLIB, and Javassist are currently supported).

On 2/6/08, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
> i support it in a non-core module
>
> -igor
>
>
> On Feb 6, 2008 5:41 PM, Jonathan Locke <[EMAIL PROTECTED]> wrote:
> >
> >
> > so you don't support this model then?
> >
> >
> >
> > igor.vaynberg wrote:
> > >
> > > i disagree. i dont think we should be doing more with cglib in core or
> > > any other bytecode magic. have you ever tried to walk code that uses
> > > bytecode generation? its a nightmare. one of my favorite things about
> > > wicket is that it is just java and its easy as hell to debug. im not
> > > really against putting something like this into extensions, or even
> > > having a new wicket-bytecode/codegen/whatever package that contains
> > > things like these...
> > >
> > > -igor
> > >
> > >
> > > On Feb 6, 2008 5:23 PM, Jonathan Locke <[EMAIL PROTECTED]> wrote:
> > >>
> > >> like BoundCompoundPropertyModel, but safer.  i think this almost might be
> > >> too
> > >> clever as it sacrifices some intuitiveness.  also, it's filling in for a
> > >> missing java feature.  this should really be:
> > >>
> > >> boundModel.bind(component, firstName.property)
> > >>
> > >> (where .property, .field and .method are long-missing declarative
> > >> reflections like .class)
> > >>
> > >> it does make me think we could be doing more with CGLIB in general. our
> > >> model classes ought to be able to detect model changes better using
> > >> proxies,
> > >> for example.
> > >>
> > >>
> > >>
> > >> Scott Swank wrote:
> > >> >
> > >> > One of our more clever developers created a CompoundPropertyModel that
> > >> > uses a cglib proxy to strongly bind the mutators to the model.  It
> > >> > looks like this:
> > >> >
> > >> >               SharedPropertyModel<Customer> model = new
> > >> > SharedPropertyModel<Customer>(customer);
> > >> >               this.setModel(model);
> > >> >
> > >> >               FormComponent firstName = new
> > >> > CustomerNameField("firstName").setRequired(true);
> > >> >               model.bind(firstName).to().getFirstName();
> > >> >               add(firstName);
> > >> >
> > >> >               FormComponent lastName = new
> > >> > CustomerNameField("lastName").setRequired(true);
> > >> >               model.bind(lastName).to().getLastName();
> > >> >               add(lastName);
> > >> >
> > >> >               FormComponent addr1 = new
> > >> AddressField("address1").setRequired(true);
> > >> >               model.bind(addr1).to().getAddress().getAddress1();
> > >> >               add(addr1);
> > >> >
> > >> >               FormComponent addr2 = new AddressField("address2");
> > >> >               model.bind(addr2).to().getAddress().getAddress2();
> > >> >               add(addr2);
> > >> >
> > >> >               FormComponent city = new CityField("city");
> > >> >               model.bind(city).to().getAddress().getCity();
> > >> >               add(city);
> > >> >
> > >> > We're happy to share if folk like this approach.  N.B. that the .to()
> > >> > call is for readability rather than out of any necessity.
> > >> >
> > >> > Cheers,
> > >> > Scott
> > >> >
> > >> > --
> > >> > Scott Swank
> > >> > reformed mathematician
> > >> >
> > >> > ---------------------------------------------------------------------
> > >> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> > For additional commands, e-mail: [EMAIL PROTECTED]
> > >> >
> > >> >
> > >> >
> > >>
> > >> --
> > >> View this message in context:
> > >> http://www.nabble.com/CompoundModel-based-on-proxies-tp15317807p15325663.html
> > >> Sent from the Wicket - User mailing list archive at Nabble.com.
> > >>
> > >>
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> > >> For additional commands, e-mail: [EMAIL PROTECTED]
> > >>
> > >>
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> > >
> >
> > --
> > View this message in context: 
> > http://www.nabble.com/CompoundModel-based-on-proxies-tp15317807p15325860.html
> >
> > Sent from the Wicket - User mailing list archive at Nabble.com.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to