org.codehaus.groovy.binding

## Class BindingProxy

- java.lang.Object
- - groovy.lang.GroovyObjectSupport
  - - org.codehaus.groovy.binding.BindingProxy

- All Implemented Interfaces:
    GroovyObject, BindingUpdatable

      public class BindingProxy
      extends GroovyObjectSupport
      implements BindingUpdatable

  This class returns half bound `FullBinding`s on the source half to the model object for every property reference (and I do mean every, valid or not, queried before or not). These returned half bindings are stored strongly in a list when generated. Changing the model will keep all existing bindings but change the source on all of the bininfs Formerly Known as Model Binding.
  Since:
    Groovy 1.5
  Version:
    $Revision$
  Author:
    Danno Ferrin

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BindingProxy(Object model)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `bind()` Causes automatic updating of bound values to be turned on.
    `Object` | `getModel()`
    `Object` | `getProperty(String property)` Retrieves a property value.
    `void` | `rebind()` Causes the current bindings to be reset.
    `void` | `reverseUpdate()` If supported, Causes the values to be propagated from the target to the source, If not supported, an exception may be thrown
    `void` | `setModel(Object model)`
    `void` | `setProperty(String property, Object value)` Sets the given property to the new value.
    `void` | `unbind()` Causes automatic updating of bound values to be turned off.
    `void` | `update()` Causes the values to be propagated from the source to the target

    - ### Methods inherited from class groovy.lang.GroovyObjectSupport

      `getMetaClass, invokeMethod, setMetaClass`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### BindingProxy

          public BindingProxy(Object model)

  - ### Method Detail

    - #### getModel

          public Object getModel()

    - #### setModel

          public void setModel(Object model)

    - #### getProperty

          public Object getProperty(String property)

      Description copied from interface: `GroovyObject`
      Retrieves a property value.
      Specified by:
        `getProperty` in interface `GroovyObject`
      Overrides:
        `getProperty` in class `GroovyObjectSupport`
      Parameters:
        `property` - the name of the property of interest
      Returns:
        the given property

    - #### setProperty

          public void setProperty(String property,
                         Object value)

      Description copied from interface: `GroovyObject`
      Sets the given property to the new value.
      Specified by:
        `setProperty` in interface `GroovyObject`
      Overrides:
        `setProperty` in class `GroovyObjectSupport`
      Parameters:
        `property` - the name of the property of interest
        `value` - the new value for the property

    - #### bind

          public void bind()

      Description copied from interface: `BindingUpdatable`
      Causes automatic updating of bound values to be turned on. This is idempotent between calls to unbind and rebind; i.e. multiple calls to bind will have only the effect of the first call.
      Specified by:
        `bind` in interface `BindingUpdatable`

    - #### unbind

          public void unbind()

      Description copied from interface: `BindingUpdatable`
      Causes automatic updating of bound values to be turned off. This is idempotent between calls to bind and rebind; i.e. multiple calls to unbind will have only the effect of the first call.
      Specified by:
        `unbind` in interface `BindingUpdatable`

    - #### rebind

          public void rebind()

      Description copied from interface: `BindingUpdatable`
      Causes the current bindings to be reset. If the binding is not bound, it is a no-op. If the binding is bound, it will be turned off, then turned on against current values.
      Specified by:
        `rebind` in interface `BindingUpdatable`

    - #### update

          public void update()

      Description copied from interface: `BindingUpdatable`
      Causes the values to be propagated from the source to the target
      Specified by:
        `update` in interface `BindingUpdatable`

    - #### reverseUpdate

          public void reverseUpdate()

      Description copied from interface: `BindingUpdatable`
      If supported, Causes the values to be propagated from the target to the source, If not supported, an exception may be thrown
      Specified by:
        `reverseUpdate` in interface `BindingUpdatable`