Class AstIdentifier

    • Constructor Detail

      • AstIdentifier

        public AstIdentifier​(String name,
                             int index)
      • AstIdentifier

        public AstIdentifier​(String name,
                             int index,
                             boolean ignoreReturnType)
    • Method Detail

      • isLeftValue

        public boolean isLeftValue()
        Specified by:
        isLeftValue in interface ExpressionNode
        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()
        Specified by:
        isMethodInvocation in interface ExpressionNode
        Returns:
        true if the subtree rooted at this node is a method invocation.
      • isLiteralText

        public boolean isLiteralText()
        Specified by:
        isLiteralText in interface ExpressionNode
        Returns:
        true if this node represents literal text
      • setValue

        public void setValue​(Bindings bindings,
                             ELContext context,
                             Object value)
        Description copied from interface: ExpressionNode
        Assign value.
        Specified by:
        setValue in interface ExpressionNode
        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.
        Specified by:
        getMethodInfo in interface ExpressionNode
        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,
                             ELContext context,
                             Class<?> returnType,
                             Class<?>[] paramTypes,
                             Object[] params)
        Description copied from interface: ExpressionNode
        Invoke method.
        Specified by:
        invoke in interface ExpressionNode
        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
        params - parameter values
        Returns:
        result of the method invocation
      • getIndex

        public int getIndex()
        Description copied from interface: IdentifierNode
        Get the unique index of this identifier in the expression (e.g. preorder index)
        Specified by:
        getIndex in interface IdentifierNode
      • getCardinality

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

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