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
Author:
  Danno Ferrin

### Constructor Summary

Constructors
Constructor and Description
`BindingProxy(java.lang.Object model)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `bind()` Causes automatic updating of bound values to be turned on.
`java.lang.Object` `getModel()`
`java.lang.Object` `getProperty(java.lang.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(java.lang.Object model)`
`void` `setProperty(java.lang.String property, java.lang.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(java.lang.Object model)

### Method Detail

#### getModel

    public java.lang.Object getModel()

#### setModel

    public void setModel(java.lang.Object model)

#### getProperty

    public java.lang.Object getProperty(java.lang.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(java.lang.String property,
                            java.lang.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`