package net.databinder.components.cay; import net.databinder.models.cay.DataObjectModel; import org.apache.cayenne.DataObject; import org.apache.cayenne.ObjectId; import org.apache.wicket.model.CompoundPropertyModel; import org.apache.wicket.model.IChainingModel; /** Form to be used with a single object, wraps in a compound property model. */ public class DataForm<T extends DataObject> extends CommittingDataForm<T> { public DataForm(String id, Class<T> cl) { super(id, new CompoundPropertyModel<T>(new DataObjectModel<T>(cl))); } public DataForm(String id, T object) { super(id, new CompoundPropertyModel<T>(new DataObjectModel<T>(object))); } public DataForm(String id, ObjectId objectId) { super(id, new CompoundPropertyModel<T>(new DataObjectModel<T>(objectId))); } public DataObjectModel<T> getPersistentObjectModel() { return (DataObjectModel<T>) ((IChainingModel<T>)getModel()).getChainedModel(); } }