java.lang.Object
com.google.auto.value.processor.escapevelocity.Node
Direct Known Subclasses:
DirectiveNode, ExpressionNode, Node.Cons, TokenNode

abstract class Node extends Object
A node in the parse tree.
  • Field Details

    • resourceName

      final String resourceName
    • lineNumber

      final int lineNumber
  • Constructor Details

    • Node

      Node(String resourceName, int lineNumber)
  • Method Details

    • evaluate

      abstract Object evaluate(EvaluationContext context)
      Returns the result of evaluating this node in the given context. This result may be used as part of a further operation, for example evaluating 2 + 3 to 5 in order to set $x to 5 in #set ($x = 2 + 3). Or it may be used directly as part of the template output, for example evaluating replacing name by Fred in My name is $name..
    • where

      private String where()
    • evaluationException

      EvaluationException evaluationException(String message)
    • evaluationException

      EvaluationException evaluationException(Throwable cause)
    • emptyNode

      static Node emptyNode(String resourceName, int lineNumber)
      Returns an empty node in the parse tree. This is used for example to represent the trivial "else" part of an #if that does not have an explicit #else.
    • cons

      static Node cons(String resourceName, int lineNumber, com.google.common.collect.ImmutableList<Node> nodes)
      Create a new parse tree node that is the concatenation of the given ones. Evaluating the new node produces the same string as evaluating each of the given nodes and concatenating the result.