Interface ExpressionVisitor<R>

Type Parameters:
R - Return type of the visitor.
All Known Implementing Classes:
ExpressionVisitor.Default, RuleEvaluator, TraversingVisitor

public interface ExpressionVisitor<R>
Expression visitor pattern.
  • Method Details

    • visitLiteral

      R visitLiteral(Literal literal)
      Visits a literal.
      Parameters:
      literal - the literal to visit.
      Returns:
      the value from the visitor.
    • visitRef

      R visitRef(Reference reference)
      Visits a reference.
      Parameters:
      reference - the reference to visit.
      Returns:
      the value from the visitor.
    • visitGetAttr

      R visitGetAttr(GetAttr getAttr)
      Visits a GetAttr function.
      Parameters:
      getAttr - the GetAttr function to visit.
      Returns:
      the value from the visitor.
    • visitIsSet

      R visitIsSet(Expression fn)
      Visits an isSet function.
      Parameters:
      fn - the isSet function to visit.
      Returns:
      the value from the visitor.
    • visitNot

      R visitNot(Expression not)
      Visits a not function.
      Parameters:
      not - the not function to visit.
      Returns:
      the value from the visitor.
    • visitBoolEquals

      R visitBoolEquals(Expression left, Expression right)
      Does a boolean equality check.
      Parameters:
      left - the first value to compare.
      right - the second value to compare.
      Returns:
      the value from the visitor.
    • visitStringEquals

      R visitStringEquals(Expression left, Expression right)
      Does a string equality check.
      Parameters:
      left - the first value to compare.
      right - the second value to compare.
      Returns:
      the value from the visitor.
    • visitLibraryFunction

      R visitLibraryFunction(FunctionDefinition fn, List<Expression> args)
      Visits a library function.
      Parameters:
      fn - the library function to visit.
      args - the arguments to the function being visited.
      Returns:
      the value from the visitor.