org.zkoss.bind.proxy.FormProxyObject Maven / Gradle / Ivy
/** FormProxyObject.java.
Purpose:
Description:
History:
12:04:46 PM Dec 25, 2014, Created by jumperchen
Copyright (C) 2014 Potix Corporation. All Rights Reserved.
*/
package org.zkoss.bind.proxy;
import java.util.Set;
import org.zkoss.bind.BindContext;
import org.zkoss.bind.sys.FormBinding;
import org.zkoss.bind.sys.SavePropertyBinding;
import org.zkoss.util.Pair;
/**
* The interface implemented by proxy classes.
* Note: To avoid the method naming conflict with the origin object, we declare
* those long method names, getOriginObject, resetFormOrigin,
* submitToOrigin, and isDirtyForm
* @author jumperchen
* @since 8.0.0
*/
public interface FormProxyObject {
/**
* Returns the origin object.
*/
public Object getOriginObject();
/**
* Resets all of the changes of this form from the origin object.
*/
public void resetFromOrigin();
/**
* Saves all of the changes of this form to the origin object.
* @param ctx
*/
public void submitToOrigin(BindContext ctx);
/**
* Returns whether the form proxy object is dirty or not, including all
* of its attributes.
*/
public boolean isFormDirty();
/**
* Sets the owner of this form with its binding.
* @param owner the object associated with this form.
*/
public void setFormOwner(Object owner, FormBinding binding);
/**
* Set the property of current form proxy object and it's creator
* @param property p the property
* @param parent parent the parent proxy node
* @since 8.0.2
*/
public void setPath(String property, ProxyNode parent);
/**
* Cache save property binding by property string
* @param property the property of save property binding
* @param savePropertyBinding the save property binding
* @since 8.0.2
*/
public void cacheSavePropertyBinding(String property, SavePropertyBinding savePropertyBinding);
/**
* Collect all of collect cached save property bindings
* @since 8.0.2
*/
public Set> collectCachedSavePropertyBinding();
}