makes sense to me.


igor.vaynberg 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]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/CompoundModel-based-on-proxies-tp15317807p15325972.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]

Reply via email to