PropertyModelwill do what you want. When a query is PropertyModelrequested for its value, it looks in two places:
"getter" , PropertyModel getter . , PropertyModel get<Property>, <Property> - , PropertyModel, , .
"getter" , PropertyModel . , PropertyModel , , PropertyModel. , PropertyModel . , PropertyModel .
, PropertyModel, "password", PropertyModel user getPassword. , PropertyModel password.
PropertyModel "getter" , , , user. , f getPasssword ( 3 s), PropertyModel .
PropertyModel , PropertyModel, Wicket / . , getters seters.
BeanPropertyModel, :
import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.model.PropertyModel;
public class BeanPropertyModel extends PropertyModel {
public BeanPropertyModel(Object modelObject, String expression) {
super(modelObject, expression);
}
@Override
public Object getObject() {
if(getPropertyGetter() == null)
fail("Missing getter");
return super.getObject();
}
@Override
public void setObject(Object modelObject) {
if(getPropertySetter() == null)
fail("Missing setter");
super.setObject(modelObject);
}
private void fail(String message) {
throw new WicketRuntimeException(
String.format("%s. Property expression: '%s', class: '%s'.",
message,
getPropertyExpression(),
getTarget().getClass().getCanonicalName()));
}
}