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]

Reply via email to