Package org.camunda.bpm.impl.juel
Class AstEval
java.lang.Object
org.camunda.bpm.impl.juel.AstNode
org.camunda.bpm.impl.juel.AstEval
- All Implemented Interfaces:
ExpressionNode
,Node
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
appendStructure
(StringBuilder b, Bindings bindings) int
Get the node's number of children.getChild
(int i) Get i'th childjakarta.el.MethodInfo
getMethodInfo
(Bindings bindings, jakarta.el.ELContext context, Class<?> returnType, Class<?>[] paramTypes) Get method information.Class<?>
Get the value type accepted inExpressionNode.setValue(Bindings, ELContext, Object)
.jakarta.el.ValueReference
getValueReference
(Bindings bindings, jakarta.el.ELContext context) Get value reference.invoke
(Bindings bindings, jakarta.el.ELContext context, Class<?> returnType, Class<?>[] paramTypes, Object[] paramValues) Invoke method.boolean
boolean
boolean
boolean
boolean
isReadOnly
(Bindings bindings, jakarta.el.ELContext context) Determine whetherExpressionNode.setValue(Bindings, ELContext, Object)
will throw aPropertyNotWritableException
.void
Assign value.toString()
Methods inherited from class org.camunda.bpm.impl.juel.AstNode
getStructuralId, getValue
-
Constructor Details
-
AstEval
-
-
Method Details
-
isDeferred
public boolean isDeferred() -
isLeftValue
public boolean isLeftValue()- Returns:
true
if the subtree rooted at this node could be used as an lvalue expression (identifier or property sequence with non-literal prefix).
-
isMethodInvocation
public boolean isMethodInvocation()- Returns:
true
if the subtree rooted at this node is a method invocation.
-
getValueReference
Description copied from interface:ExpressionNode
Get value reference.- Returns:
- value reference
-
eval
-
toString
-
appendStructure
- Specified by:
appendStructure
in classAstNode
-
getMethodInfo
public jakarta.el.MethodInfo getMethodInfo(Bindings bindings, jakarta.el.ELContext context, Class<?> returnType, Class<?>[] paramTypes) Description copied from interface:ExpressionNode
Get method information. If this is a non-lvalue node, answernull
.- Parameters:
bindings
- bindings containing variables and functionscontext
- evaluation contextreturnType
- expected method return type (may benull
meaning don't care)paramTypes
- expected method argument types- Returns:
- method information or
null
-
invoke
public Object invoke(Bindings bindings, jakarta.el.ELContext context, Class<?> returnType, Class<?>[] paramTypes, Object[] paramValues) Description copied from interface:ExpressionNode
Invoke method.- Parameters:
bindings
- bindings containing variables and functionscontext
- evaluation contextreturnType
- expected method return type (may benull
meaning don't care)paramTypes
- expected method argument typesparamValues
- parameter values- Returns:
- result of the method invocation
-
getType
Description copied from interface:ExpressionNode
Get the value type accepted inExpressionNode.setValue(Bindings, ELContext, Object)
.- Parameters:
bindings
- bindings containing variables and functionscontext
- evaluation context- Returns:
- accepted type or
null
for non-lvalue nodes
-
isLiteralText
public boolean isLiteralText()- Returns:
true
if this node represents literal text
-
isReadOnly
Description copied from interface:ExpressionNode
Determine whetherExpressionNode.setValue(Bindings, ELContext, Object)
will throw aPropertyNotWritableException
.- Parameters:
bindings
- bindings containing variables and functionscontext
- evaluation context- Returns:
true
if this a read-only expression node
-
setValue
Description copied from interface:ExpressionNode
Assign value.- Parameters:
bindings
- bindings containing variables and functionscontext
- evaluation contextvalue
- value to set
-
getCardinality
public int getCardinality()Description copied from interface:Node
Get the node's number of children. -
getChild
Description copied from interface:Node
Get i'th child
-