org.activiti.engine.impl.javax.el.ValueExpression
An Expression that can get or set a value. In previous incarnations of this API, expressions could only be read. ValueExpression objects can now be used both to retrieve a value and to set a value. Expressions that can have a value set on them are referred to as l-value expressions. Those that cannot are referred to as r-value expressions. Not all r-value expressions can be used as l-value expressions (e.g. "${1+1}" or "${firstName} ${lastName}"). See the EL Specification for details. Expressions that cannot be used as l-values must always return true from isReadOnly(). The {@link ExpressionFactory#createValueExpression(ELContext,String,Class)}method can be used to parse an expression string and return a concrete instance of ValueExpression that encapsulates the parsed expression. The {@link FunctionMapper} is used atparse time, not evaluation time, so one is not needed to evaluate an expression using this class. However, the {@link ELContext} is needed at evaluation time. The {@link #getValue(ELContext)}, {@link #setValue(ELContext,Object)}, {@link #isReadOnly(ELContext)} and{@link #getType(ELContext)} methods will evaluate the expression each time they are called. The{@link ELResolver} in the ELContext is used to resolve the top-level variables and to determinethe behavior of the . and [] operators. For any of the four methods, the {@link ELResolver#getValue(ELContext,Object,Object)} method is used to resolve all propertiesup to but excluding the last one. This provides the base object. At the last resolution, the ValueExpression will call the corresponding {@link ELResolver#getValue(ELContext,Object,Object)}, {@link ELResolver#setValue(ELContext,Object,Object,Object)}, {@link ELResolver#isReadOnly(ELContext,Object,Object)} or{@link ELResolver#getType(ELContext,Object,Object)} method, depending on which was called onthe ValueExpression. See the notes about comparison, serialization and immutability in the {@link Expression} javadocs.
@see ELResolver
@see Expression
@see ExpressionFactory