org.springframework.expression.spel.ast
Class VariableReference

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

public class VariableReference
extends SpelNodeImpl

Represents a variable reference, eg. #someVar. Note this is different to a *local* variable like $someVar

Since:
3.0
Author:
Andy Clement

Field Summary
 
Fields inherited from class org.springframework.expression.spel.ast.SpelNodeImpl
children, pos
 
Constructor Summary
VariableReference(String variableName, int pos)
           
 
Method Summary
 TypedValue getValueInternal(ExpressionState state)
           
 boolean isWritable(ExpressionState expressionState)
          Determine if this expression node will support a setValue() call.
 void setValue(ExpressionState state, Object value)
          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, getTypedValue, getValue, getValue, nextChildIs
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

VariableReference

public VariableReference(String variableName,
                         int pos)
Method Detail

getValueInternal

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

setValue

public void setValue(ExpressionState state,
                     Object value)
              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)
value - the new value
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

isWritable

public boolean isWritable(ExpressionState expressionState)
                   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:
expressionState - the current expression state (includes the context)
Returns:
true if the expression node will allow setValue()
Throws:
SpelEvaluationException