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

java.lang.Object
  extended by org.camunda.bpm.engine.impl.juel.AstNode
      extended by org.camunda.bpm.engine.impl.juel.AstRightValue
All Implemented Interfaces:
ExpressionNode, Node
Direct Known Subclasses:
AstBinary, AstChoice, AstComposite, AstFunction, AstLiteral, AstNested, AstParameters, AstUnary

public abstract class AstRightValue
extends AstNode

Author:
Christoph Beck

Constructor Summary
AstRightValue()
           
 
Method Summary
 MethodInfo getMethodInfo(Bindings bindings, ELContext context, Class<?> returnType, Class<?>[] paramTypes)
          Get method information.
 Class<?> getType(Bindings bindings, ELContext context)
          according to the spec, the result is undefined for rvalues, so answer null
 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()
          Answer false
 boolean isMethodInvocation()
           
 boolean isReadOnly(Bindings bindings, ELContext context)
          non-lvalues are always readonly, so answer true
 void setValue(Bindings bindings, ELContext context, Object value)
          non-lvalues are always readonly, so throw an exception
 
Methods inherited from class org.camunda.bpm.engine.impl.juel.AstNode
appendStructure, eval, getStructuralId, getValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.camunda.bpm.engine.impl.juel.Node
getCardinality, getChild
 

Constructor Detail

AstRightValue

public AstRightValue()
Method Detail

isLiteralText

public final boolean isLiteralText()
Answer false

Returns:
true if this node represents literal text

getType

public final Class<?> getType(Bindings bindings,
                              ELContext context)
according to the spec, the result is undefined for rvalues, so answer null

Parameters:
bindings - bindings containing variables and functions
context - evaluation context
Returns:
accepted type or null for non-lvalue nodes

isReadOnly

public final boolean isReadOnly(Bindings bindings,
                                ELContext context)
non-lvalues are always readonly, so answer true

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

setValue

public final void setValue(Bindings bindings,
                           ELContext context,
                           Object value)
non-lvalues are always readonly, so throw an exception

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

getMethodInfo

public final 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

invoke

public final 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

isLeftValue

public final 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


Copyright © 2015 camunda services GmbH. All rights reserved.