Class AstNode

    • Constructor Detail

      • AstNode

        public AstNode()
    • Method Detail

      • getValue

        public final java.lang.Object getValue​(Bindings bindings,
                                               ELContext context,
                                               java.lang.Class<?> type)
        evaluate and return the (optionally coerced) result.
        Specified by:
        getValue in interface ExpressionNode
        Parameters:
        bindings - bindings containing variables and functions
        context - evaluation context
        type - result type
        Returns:
        evaluated node, coerced to the expected type
      • appendStructure

        public abstract void appendStructure​(java.lang.StringBuilder builder,
                                             Bindings bindings)
      • eval

        public abstract java.lang.Object eval​(Bindings bindings,
                                              ELContext context)
      • getStructuralId

        public final java.lang.String getStructuralId​(Bindings bindings)
        Description copied from interface: ExpressionNode
        Get the canonical expression string for this node. Variable and funtion names will be replaced in a way such that two expression nodes that have the same node structure and bindings will also answer the same value here.

        For example, "${foo:bar()+2*foobar}" may lead to "${<fn>() + 2 * <var>}" if foobar is a bound variable. Otherwise, the structural id would be "${<fn>() + 2 * foobar}".

        If the bindings is null, the full canonical subexpression is returned.

        Specified by:
        getStructuralId in interface ExpressionNode