org.apache.tapestry.binding
Class ExpressionBinding

java.lang.Object
  extended byorg.apache.tapestry.binding.AbstractBinding
      extended byorg.apache.tapestry.binding.ExpressionBinding
All Implemented Interfaces:
IBinding, org.apache.hivemind.Locatable

public class ExpressionBinding
extends AbstractBinding

Implements a dynamic binding, based on evaluating an expression using an expression language. Tapestry's default expression language is the Object Graph Navigation Language .

Since:
2.2
Author:
Howard Lewis Ship
See Also:
ExpressionEvaluator

Constructor Summary
ExpressionBinding(java.lang.String description, org.apache.hivemind.Location location, ValueConverter valueConverter, IComponent root, java.lang.String expression, ExpressionEvaluator evaluator, ExpressionCache cache)
          Creates a ExpressionBindingfrom the root object and an OGNL expression.
 
Method Summary
 java.lang.Object getComponent()
          Returns the component to which this binding is connected; this is currently only used when building certain exceptions.
 java.lang.Object getObject()
          Gets the value of the property path, with the assistance of the ExpressionEvaluator.
 boolean isInvariant()
          Returns true if the binding is expected to always return the same value.
 void setObject(java.lang.Object value)
          Updates the property for the binding to the given value.
 java.lang.String toString()
          Returns the a String representing the property path.
 
Methods inherited from class org.apache.tapestry.binding.AbstractBinding
createReadOnlyBindingException, extendDescription, getDescription, getLocation, getObject, getValueConverter
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ExpressionBinding

public ExpressionBinding(java.lang.String description,
                         org.apache.hivemind.Location location,
                         ValueConverter valueConverter,
                         IComponent root,
                         java.lang.String expression,
                         ExpressionEvaluator evaluator,
                         ExpressionCache cache)
Creates a ExpressionBindingfrom the root object and an OGNL expression.

Method Detail

getObject

public java.lang.Object getObject()
Gets the value of the property path, with the assistance of the ExpressionEvaluator.

Throws:
BindingException - if an exception is thrown accessing the property.

isInvariant

public boolean isInvariant()
Returns true if the binding is expected to always return the same value.

Specified by:
isInvariant in interface IBinding
Overrides:
isInvariant in class AbstractBinding

setObject

public void setObject(java.lang.Object value)
Updates the property for the binding to the given value.

Specified by:
setObject in interface IBinding
Overrides:
setObject in class AbstractBinding
Throws:
BindingException - if the property can't be updated (typically due to an security problem, or a missing mutator method).
ReadOnlyBindingException - if the binding is invariant.

toString

public java.lang.String toString()
Returns the a String representing the property path. This includes the extended idof the root component and the property path ... once the binding is used, these may change due to optimization of the property path.

Overrides:
toString in class AbstractBinding

getComponent

public java.lang.Object getComponent()
Description copied from class: AbstractBinding
Returns the component to which this binding is connected; this is currently only used when building certain exceptions. This implementation returns null.

Overrides:
getComponent in class AbstractBinding
Since:
4.0