org.camunda.bpm.engine.impl.juel
Class AstMethod

java.lang.Object
  extended by org.camunda.bpm.engine.impl.juel.AstNode
      extended by org.camunda.bpm.engine.impl.juel.AstMethod
All Implemented Interfaces:
ExpressionNode, Node

public class AstMethod
extends AstNode


Constructor Summary
AstMethod(AstProperty property, AstParameters params)
           
 
Method Summary
 void appendStructure(StringBuilder builder, Bindings bindings)
           
 Object eval(Bindings bindings, ELContext context)
           
 int getCardinality()
          Get the node's number of children.
 Node getChild(int i)
          Get i'th child
 MethodInfo getMethodInfo(Bindings bindings, ELContext context, Class<?> returnType, Class<?>[] paramTypes)
          Get method information.
 Class<?> getType(Bindings bindings, ELContext context)
          Get the value type accepted in ExpressionNode.setValue(Bindings, ELContext, Object).
 ValueReference getValueReference(Bindings bindings, ELContext context)
          Get value reference.
 Object invoke(Bindings bindings, ELContext context, Class<?> returnType, Class<?>[] paramTypes, Object[] paramValues)
          Invoke method.
 boolean isLeftValue()
           
 boolean isLiteralText()
           
 boolean isMethodInvocation()
           
 boolean isReadOnly(Bindings bindings, ELContext context)
          Determine whether ExpressionNode.setValue(Bindings, ELContext, Object) will throw a PropertyNotWritableException.
 void setValue(Bindings bindings, ELContext context, Object value)
          Assign value.
 String toString()
           
 
Methods inherited from class org.camunda.bpm.engine.impl.juel.AstNode
getStructuralId, getValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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 Class<?> getType(Bindings bindings,
                        ELContext context)
Description copied from interface: ExpressionNode
Get the value type accepted in ExpressionNode.setValue(Bindings, ELContext, Object).

Parameters:
bindings - bindings containing variables and functions
context - 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 whether ExpressionNode.setValue(Bindings, ELContext, Object) will throw a PropertyNotWritableException.

Parameters:
bindings - bindings containing variables and functions
context - evaluation context
Returns:
true if this a read-only expression node

setValue

public void setValue(Bindings bindings,
                     ELContext context,
                     Object value)
Description copied from interface: ExpressionNode
Assign value.

Parameters:
bindings - bindings containing variables and functions
context - evaluation context
value - value to set

getMethodInfo

public MethodInfo getMethodInfo(Bindings bindings,
                                ELContext context,
                                Class<?> returnType,
                                Class<?>[] paramTypes)
Description copied from interface: ExpressionNode
Get method information. If this is a non-lvalue node, answer null.

Parameters:
bindings - bindings containing variables and functions
context - evaluation context
returnType - expected method return type (may be null 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(StringBuilder builder,
                            Bindings bindings)
Specified by:
appendStructure in class AstNode

eval

public Object eval(Bindings bindings,
                   ELContext context)
Specified by:
eval in class AstNode

invoke

public Object invoke(Bindings bindings,
                     ELContext context,
                     Class<?> returnType,
                     Class<?>[] paramTypes,
                     Object[] paramValues)
Description copied from interface: ExpressionNode
Invoke method.

Parameters:
bindings - bindings containing variables and functions
context - evaluation context
returnType - expected method return type (may be null meaning don't care)
paramTypes - expected method argument types
paramValues - parameter values
Returns:
result of the method invocation

getCardinality

public int getCardinality()
Description copied from interface: Node
Get the node's number of children.


getChild

public Node getChild(int i)
Description copied from interface: Node
Get i'th child


toString

public String toString()
Overrides:
toString in class Object


Copyright © 2014 camunda services GmbH. All rights reserved.