org.springframework.expression.spel.ast
Class PropertyOrFieldReference

java.lang.Object
  extended by org.springframework.expression.spel.ast.SpelNodeImpl
      extended by org.springframework.expression.spel.ast.PropertyOrFieldReference
All Implemented Interfaces:
SpelNode

public class PropertyOrFieldReference
extends SpelNodeImpl

Represents a simple property or field reference.

Since:
3.0
Author:
Andy Clement, Juergen Hoeller

Field Summary
 
Fields inherited from class org.springframework.expression.spel.ast.SpelNodeImpl
children, pos
 
Constructor Summary
PropertyOrFieldReference(boolean nullSafe, String propertyOrFieldName, int pos)
           
 
Method Summary
 TypedValue getValueInternal(ExpressionState state)
           
 boolean isWritable(ExpressionState state)
          Determine if this expression node will support a setValue() call.
 boolean isWritableProperty(String name, ExpressionState state)
           
 void setValue(ExpressionState state, Object newValue)
          Evaluate the expression to a node and then set the new value on that node.
 String toStringAST()
           
 
Methods inherited from class org.springframework.expression.spel.ast.SpelNodeImpl
getChild, getChildCount, getEndPosition, getObjectClass, getPreviousChild, getStartPosition, getValue, getValue, nextChildIs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PropertyOrFieldReference

public PropertyOrFieldReference(boolean nullSafe,
                                String propertyOrFieldName,
                                int pos)
Method Detail

getValueInternal

public TypedValue getValueInternal(ExpressionState state)
                            throws EvaluationException
Specified by:
getValueInternal in class SpelNodeImpl
Throws:
EvaluationException

setValue

public void setValue(ExpressionState state,
                     Object newValue)
              throws SpelEvaluationException
Description copied from interface: SpelNode
Evaluate the expression to a node and then set the new value on that node. For example, if the expression evaluates to a property reference then the property will be set to the new value.

Specified by:
setValue in interface SpelNode
Overrides:
setValue in class SpelNodeImpl
Parameters:
state - the current expression state (includes the context)
newValue - the new value
Throws:
SpelEvaluationException

isWritable

public boolean isWritable(ExpressionState state)
                   throws SpelEvaluationException
Description copied from interface: SpelNode
Determine if this expression node will support a setValue() call.

Specified by:
isWritable in interface SpelNode
Overrides:
isWritable in class SpelNodeImpl
Parameters:
state - the current expression state (includes the context)
Returns:
true if the expression node will allow setValue()
Throws:
SpelEvaluationException

toStringAST

public String toStringAST()
Specified by:
toStringAST in interface SpelNode
Specified by:
toStringAST in class SpelNodeImpl
Returns:
the string form of this AST node

isWritableProperty

public boolean isWritableProperty(String name,
                                  ExpressionState state)
                           throws SpelEvaluationException
Throws:
SpelEvaluationException