package org.jboss.seam.wicket;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;
public abstract class SeamPropertyModel implements IModel
{
private String expression;
private PropertyModel model;
public SeamPropertyModel(String expression)
{
this.expression = expression;
}
public abstract Object getTarget();
public Object getObject()
{
return getModel().getObject();
}
public void setObject(Object object)
{
getModel().setObject(object);
}
private PropertyModel getModel()
{
if (model == null)
{
model = new PropertyModel(getTarget(), expression);
}
return model;
}
public void detach()
{
model = null;
}
public String getPropertyExpression()
{
return getModel().getPropertyExpression();
}
}