Interface ExpressionNode

All Known Implementing Classes:
AbstractInvocationExpression, AbstractNode, AbstractOperator, AndOperator, ArrayExpression, ArraySlicer, BiggerComparison, BiggerOrEqualComparison, ComparisonOperator, DivideOperator, DotExpression, EqualsComparison, FailDotExpression, ForExpression, FunctionDeclaration, FunctionExpression, IfExpression, LetExpression, LiteralExpression, MacroExpression, MatcherExpression, MinusOperator, MultiplyOperator, NumericOperator, ObjectComprehension, ObjectExpression, OrOperator, PairExpression, PipeOperator, PlusOperator, SmallerComparison, SmallerOrEqualsComparison, UnequalsComparison, VariableExpression

public interface ExpressionNode
Internal interface for the parts of a compiled JSLT expression. Different from the external interface because we want to avoid having convenience methods here, and also because we may want to add methods for introspection (for optimization, generating byte-code, etc).
  • Method Details

    • apply

      com.fasterxml.jackson.databind.JsonNode apply(Scope scope, com.fasterxml.jackson.databind.JsonNode input)
    • dump

      void dump(int level)
    • computeMatchContexts

      void computeMatchContexts(DotExpression parent)
    • prepare

      void prepare(PreparationContext ctx)
    • optimize

      ExpressionNode optimize()
    • getChildren

      List<ExpressionNode> getChildren()