Class AstProperty

java.lang.Object
org.camunda.bpm.impl.juel.AstNode
org.camunda.bpm.impl.juel.AstProperty
All Implemented Interfaces:
ExpressionNode, Node
Direct Known Subclasses:
AstBracket, AstDot

public abstract class AstProperty extends AstNode
  • Field Details

    • prefix

      protected final AstNode prefix
    • lvalue

      protected final boolean lvalue
    • strict

      protected final boolean strict
  • Constructor Details

    • AstProperty

      public AstProperty(AstNode prefix, boolean lvalue, boolean strict)
  • Method Details

    • getProperty

      protected abstract Object getProperty(Bindings bindings, jakarta.el.ELContext context) throws jakarta.el.ELException
      Throws:
      jakarta.el.ELException
    • getPrefix

      protected AstNode getPrefix()
    • getValueReference

      public jakarta.el.ValueReference getValueReference(Bindings bindings, jakarta.el.ELContext context)
      Description copied from interface: ExpressionNode
      Get value reference.
      Returns:
      value reference
    • eval

      public Object eval(Bindings bindings, jakarta.el.ELContext context)
      Specified by:
      eval in class AstNode
    • isLiteralText

      public final boolean isLiteralText()
      Returns:
      true if this node represents literal text
    • 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.
    • getType

      public Class<?> getType(Bindings bindings, jakarta.el.ELContext context)
      Description copied from interface: ExpressionNode
      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, jakarta.el.ELContext context) throws jakarta.el.ELException
      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
      Throws:
      jakarta.el.ELException
    • setValue

      public void setValue(Bindings bindings, jakarta.el.ELContext context, Object value) throws jakarta.el.ELException
      Description copied from interface: ExpressionNode
      Assign value.
      Parameters:
      bindings - bindings containing variables and functions
      context - evaluation context
      value - value to set
      Throws:
      jakarta.el.ELException
    • findMethod

      protected Method findMethod(String name, Class<?> clazz, Class<?> returnType, Class<?>[] paramTypes)
    • getMethodInfo

      public jakarta.el.MethodInfo getMethodInfo(Bindings bindings, jakarta.el.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 Object invoke(Bindings bindings, jakarta.el.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
    • getChild

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