org.codehaus.groovy.binding
Class BindingProxy

java.lang.Object
  extended by groovy.lang.GroovyObjectSupport
      extended by org.codehaus.groovy.binding.BindingProxy
All Implemented Interfaces:
GroovyObject, BindingUpdatable

public class BindingProxy
extends GroovyObjectSupport
implements BindingUpdatable

This class returns half bound FullBindings 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 gereated. 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: 17000 $
Author:
Danno Ferrin

Constructor Summary
BindingProxy(Object model)
           
 
Method Summary
 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 propigated 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 propigated 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 propigated 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 propigated from the target to the source, If not supported, an exception may be thrown

Specified by:
reverseUpdate in interface BindingUpdatable

Copyright © 2003-2010 The Codehaus. All rights reserved.