Package org.camunda.bpm.engine.impl.juel
Class AstIdentifier
- java.lang.Object
-
- org.camunda.bpm.engine.impl.juel.AstNode
-
- org.camunda.bpm.engine.impl.juel.AstIdentifier
-
- All Implemented Interfaces:
ExpressionNode,IdentifierNode,Node
public class AstIdentifier extends AstNode implements IdentifierNode
-
-
Constructor Summary
Constructors Constructor Description AstIdentifier(java.lang.String name, int index)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidappendStructure(java.lang.StringBuilder b, Bindings bindings)java.lang.Objecteval(Bindings bindings, ELContext context)intgetCardinality()Get the node's number of children.AstNodegetChild(int i)Get i'th childintgetIndex()Get the unique index of this identifier in the expression (e.g.protected java.lang.reflect.MethodgetMethod(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes)MethodInfogetMethodInfo(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes)Get method information.java.lang.StringgetName()Get the identifier namejava.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[] params)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
-
-
-
-
Method Detail
-
getType
public java.lang.Class<?> getType(Bindings bindings, ELContext context)
Description copied from interface:ExpressionNodeGet the value type accepted inExpressionNode.setValue(Bindings, ELContext, Object).- Specified by:
getTypein interfaceExpressionNode- Parameters:
bindings- bindings containing variables and functionscontext- evaluation context- Returns:
- accepted type or
nullfor non-lvalue nodes
-
isLeftValue
public boolean isLeftValue()
- Specified by:
isLeftValuein interfaceExpressionNode- 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()
- Specified by:
isMethodInvocationin interfaceExpressionNode- Returns:
trueif the subtree rooted at this node is a method invocation.
-
isLiteralText
public boolean isLiteralText()
- Specified by:
isLiteralTextin interfaceExpressionNode- Returns:
trueif this node represents literal text
-
getValueReference
public ValueReference getValueReference(Bindings bindings, ELContext context)
Description copied from interface:ExpressionNodeGet value reference.- Specified by:
getValueReferencein interfaceExpressionNode- Returns:
- value reference
-
setValue
public void setValue(Bindings bindings, ELContext context, java.lang.Object value)
Description copied from interface:ExpressionNodeAssign value.- Specified by:
setValuein interfaceExpressionNode- Parameters:
bindings- bindings containing variables and functionscontext- evaluation contextvalue- value to set
-
isReadOnly
public boolean isReadOnly(Bindings bindings, ELContext context)
Description copied from interface:ExpressionNodeDetermine whetherExpressionNode.setValue(Bindings, ELContext, Object)will throw aPropertyNotWritableException.- Specified by:
isReadOnlyin interfaceExpressionNode- Parameters:
bindings- bindings containing variables and functionscontext- evaluation context- Returns:
trueif this a read-only expression node
-
getMethod
protected java.lang.reflect.Method getMethod(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes)
-
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.- Specified by:
getMethodInfoin interfaceExpressionNode- 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
-
invoke
public java.lang.Object invoke(Bindings bindings, ELContext context, java.lang.Class<?> returnType, java.lang.Class<?>[] paramTypes, java.lang.Object[] params)
Description copied from interface:ExpressionNodeInvoke method.- Specified by:
invokein interfaceExpressionNode- Parameters:
bindings- bindings containing variables and functionscontext- evaluation contextreturnType- expected method return type (may benullmeaning don't care)paramTypes- expected method argument typesparams- parameter values- Returns:
- result of the method invocation
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
appendStructure
public void appendStructure(java.lang.StringBuilder b, Bindings bindings)- Specified by:
appendStructurein classAstNode
-
getIndex
public int getIndex()
Description copied from interface:IdentifierNodeGet the unique index of this identifier in the expression (e.g. preorder index)- Specified by:
getIndexin interfaceIdentifierNode
-
getName
public java.lang.String getName()
Description copied from interface:IdentifierNodeGet the identifier name- Specified by:
getNamein interfaceIdentifierNode
-
getCardinality
public int getCardinality()
Description copied from interface:NodeGet the node's number of children.- Specified by:
getCardinalityin interfaceNode
-
-