Package org.zkoss.bind.proxy

## Interface FormProxyObject

- All Known Implementing Classes:
    `AbstractCollectionProxy`, `ListModelArrayProxy`, `ListModelListProxy`, `ListModelMapProxy`, `ListModelSetProxy`, `ListProxy`, `MapProxy`, `SetProxy`

      public interface FormProxyObject

  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`

  Since:
    8.0.0
  Author:
    jumperchen

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `cacheSavePropertyBinding​(java.lang.String property, SavePropertyBinding savePropertyBinding)` | Cache save property binding by property string
    `java.util.Set<Pair<java.lang.String,​SavePropertyBinding>>` | `collectCachedSavePropertyBinding()` | Collect all of collect cached save property bindings
    `java.lang.Object` | `getOriginObject()` | Returns the origin object.
    `boolean` | `isFormDirty()` | Returns whether the form proxy object is dirty or not, including all of its attributes.
    `void` | `resetFromOrigin()` | Resets all of the changes of this form from the origin object.
    `void` | `setFormOwner​(java.lang.Object owner, FormBinding binding)` | Sets the owner of this form with its binding.
    `void` | `setPath​(java.lang.String property, ProxyNode parent)` | Set the property of current form proxy object and it's creator
    `void` | `submitToOrigin​(BindContext ctx)` | Saves all of the changes of this form to the origin object.

- - ### Method Detail

    - #### getOriginObject

          java.lang.Object getOriginObject()

      Returns the origin object.

    - #### resetFromOrigin

          void resetFromOrigin()

      Resets all of the changes of this form from the origin object.

    - #### submitToOrigin

          void submitToOrigin​(BindContext ctx)

      Saves all of the changes of this form to the origin object.
      Parameters:
        `ctx` -

    - #### isFormDirty

          boolean isFormDirty()

      Returns whether the form proxy object is dirty or not, including all of its attributes.

    - #### setFormOwner

          void setFormOwner​(java.lang.Object owner,
                            FormBinding binding)

      Sets the owner of this form with its binding.
      Parameters:
        `owner` - the object associated with this form.

    - #### setPath

          void setPath​(java.lang.String property,
                       ProxyNode parent)

      Set the property of current form proxy object and it's creator
      Parameters:
        `property` - p the property
        `parent` - parent the parent proxy node
      Since:
        8.0.2

    - #### cacheSavePropertyBinding

          void cacheSavePropertyBinding​(java.lang.String property,
                                        SavePropertyBinding savePropertyBinding)

      Cache save property binding by property string
      Parameters:
        `property` - the property of save property binding
        `savePropertyBinding` - the save property binding
      Since:
        8.0.2

    - #### collectCachedSavePropertyBinding

          java.util.Set<Pair<java.lang.String,​SavePropertyBinding>> collectCachedSavePropertyBinding()

      Collect all of collect cached save property bindings
      Since:
        8.0.2