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 voidappendStructure(java.lang.StringBuilder builder, Bindings bindings)java.lang.Objecteval(Bindings bindings, ELContext context)intgetCardinality()Get the node's number of children.NodegetChild(int i)Get i'th childMethodInfogetMethodInfo(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).ValueReferencegetValueReference(Bindings bindings, ELContext context)Get value reference.java.lang.Objectinvoke(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes, java.lang.Object[] paramValues)Invoke method.booleanisLeftValue()booleanisLiteralText()booleanisMethodInvocation()booleanisReadOnly(Bindings bindings, ELContext context)Determine whetherExpressionNode.setValue(Bindings, ELContext, Object)will throw aPropertyNotWritableException.voidsetValue(Bindings bindings, ELContext context, java.lang.Object value)Assign value.java.lang.StringtoString()-
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:
trueif this node represents literal text
-
getType
public java.lang.Class<?> getType(Bindings bindings, ELContext context)
Description copied from interface:ExpressionNodeGet the value type accepted inExpressionNode.setValue(Bindings, ELContext, Object).- Parameters:
bindings- bindings containing variables and functionscontext- evaluation context- Returns:
- accepted type or
nullfor non-lvalue nodes
-
isReadOnly
public boolean isReadOnly(Bindings bindings, ELContext context)
Description copied from interface:ExpressionNodeDetermine whetherExpressionNode.setValue(Bindings, ELContext, Object)will throw aPropertyNotWritableException.- Parameters:
bindings- bindings containing variables and functionscontext- evaluation context- Returns:
trueif this a read-only expression node
-
setValue
public void setValue(Bindings bindings, ELContext context, java.lang.Object value)
Description copied from interface:ExpressionNodeAssign 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:ExpressionNodeGet method information. If this is a non-lvalue node, answernull.- Parameters:
bindings- bindings containing variables and functionscontext- evaluation contextreturnType- expected method return type (may benullmeaning don't care)paramTypes- expected method argument types- Returns:
- method information or
null
-
isLeftValue
public boolean isLeftValue()
- Returns:
trueif 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:
trueif the subtree rooted at this node is a method invocation.
-
getValueReference
public final ValueReference getValueReference(Bindings bindings, ELContext context)
Description copied from interface:ExpressionNodeGet value reference.- Returns:
- value reference
-
appendStructure
public void appendStructure(java.lang.StringBuilder builder, Bindings bindings)- Specified by:
appendStructurein 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:ExpressionNodeInvoke method.- Parameters:
bindings- bindings containing variables and functionscontext- evaluation contextreturnType- expected method return type (may benullmeaning don't care)paramTypes- expected method argument typesparamValues- parameter values- Returns:
- result of the method invocation
-
getCardinality
public int getCardinality()
Description copied from interface:NodeGet the node's number of children.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-