Package org.camunda.bpm.engine.impl.juel
Class AstMethod
- java.lang.Object
-
- org.camunda.bpm.engine.impl.juel.AstNode
-
- org.camunda.bpm.engine.impl.juel.AstMethod
-
- All Implemented Interfaces:
ExpressionNode
,Node
public class AstMethod extends AstNode
-
-
Constructor Summary
Constructors Constructor Description AstMethod(AstProperty property, AstParameters params)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appendStructure(java.lang.StringBuilder builder, Bindings bindings)
java.lang.Object
eval(Bindings bindings, ELContext context)
int
getCardinality()
Get the node's number of children.Node
getChild(int i)
Get i'th childMethodInfo
getMethodInfo(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes)
Get method information.java.lang.Class<?>
getType(Bindings bindings, ELContext context)
Get the value type accepted inExpressionNode.setValue(Bindings, ELContext, Object)
.ValueReference
getValueReference(Bindings bindings, ELContext context)
Get value reference.java.lang.Object
invoke(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes, java.lang.Object[] paramValues)
Invoke method.boolean
isLeftValue()
boolean
isLiteralText()
boolean
isMethodInvocation()
boolean
isReadOnly(Bindings bindings, ELContext context)
Determine whetherExpressionNode.setValue(Bindings, ELContext, Object)
will throw aPropertyNotWritableException
.void
setValue(Bindings bindings, ELContext context, java.lang.Object value)
Assign value.java.lang.String
toString()
-
Methods inherited from class org.camunda.bpm.engine.impl.juel.AstNode
getStructuralId, getValue
-
-
-
-
Constructor Detail
-
AstMethod
public AstMethod(AstProperty property, AstParameters params)
-
-
Method Detail
-
isLiteralText
public boolean isLiteralText()
- Returns:
true
if this node represents literal text
-
getType
public java.lang.Class<?> getType(Bindings bindings, ELContext context)
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
-
isReadOnly
public boolean isReadOnly(Bindings bindings, ELContext context)
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
public void setValue(Bindings bindings, ELContext context, java.lang.Object value)
Description copied from interface:ExpressionNode
Assign value.- Parameters:
bindings
- bindings containing variables and functionscontext
- evaluation contextvalue
- value to set
-
getMethodInfo
public MethodInfo getMethodInfo(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.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
-
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
public final ValueReference getValueReference(Bindings bindings, ELContext context)
Description copied from interface:ExpressionNode
Get value reference.- Returns:
- value reference
-
appendStructure
public void appendStructure(java.lang.StringBuilder builder, Bindings bindings)
- Specified by:
appendStructure
in classAstNode
-
invoke
public java.lang.Object invoke(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes, java.lang.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
-
getCardinality
public int getCardinality()
Description copied from interface:Node
Get the node's number of children.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-