Class TemplateDebugger

  • All Implemented Interfaces:
    JexlInfo.Detail

    public class TemplateDebugger
    extends Debugger
    A visitor for templates.

    A friend (ala C++) of template engine.

    • Constructor Detail

      • TemplateDebugger

        public TemplateDebugger()
        Default ctor.
    • Method Detail

      • acceptStatement

        protected java.lang.Object acceptStatement​(JexlNode child,
                                                   java.lang.Object data)
        Description copied from class: Debugger
        Adds a statement node to the rebuilt expression.
        Overrides:
        acceptStatement in class Debugger
        Parameters:
        child - the child node
        data - visitor pattern argument
        Returns:
        visitor pattern value
      • debug

        public boolean debug​(JxltEngine.Template jt)
        Position the debugger on the root of a template script.
        Parameters:
        jt - the template
        Returns:
        true if the template was a TemplateScript instance, false otherwise
      • getPrintStatement

        private TemplateEngine.TemplateExpression getPrintStatement​(JexlNode child)
        In a template, any statement that is not 'jexl:print(n)' must be prefixed by "$$".
        Parameters:
        child - the node to check
        Returns:
        the expression number or -1 if the node is not a jexl:print
      • newJexlLine

        private void newJexlLine()
        Insert $$ and \n when needed.
      • newJxltLine

        private void newJxltLine()
        Insert \n when needed.
      • reset

        public void reset()
        Description copied from class: Debugger
        Resets this debugger state.
        Overrides:
        reset in class Debugger
      • visit

        protected java.lang.Object visit​(ASTBlock node,
                                         java.lang.Object data)
        Overrides:
        visit in class Debugger
      • visit

        private java.lang.Object visit​(TemplateEngine.CompositeExpression expr,
                                       java.lang.Object data)
        Visit a composite expression.
        Parameters:
        expr - the composite expression
        data - the visitor argument
        Returns:
        the visitor argument
      • visit

        private java.lang.Object visit​(TemplateEngine.ConstantExpression expr,
                                       java.lang.Object data)
        Visit a constant expression.
        Parameters:
        expr - the constant expression
        data - the visitor argument
        Returns:
        the visitor argument
      • visit

        private java.lang.Object visit​(TemplateEngine.DeferredExpression expr,
                                       java.lang.Object data)
        Visit a deferred expression.
        Parameters:
        expr - the deferred expression
        data - the visitor argument
        Returns:
        the visitor argument
      • visit

        private java.lang.Object visit​(TemplateEngine.ImmediateExpression expr,
                                       java.lang.Object data)
        Visit an immediate expression.
        Parameters:
        expr - the immediate expression
        data - the visitor argument
        Returns:
        the visitor argument
      • visit

        private java.lang.Object visit​(TemplateEngine.NestedExpression expr,
                                       java.lang.Object data)
        Visit a nested expression.
        Parameters:
        expr - the nested expression
        data - the visitor argument
        Returns:
        the visitor argument
      • visit

        private java.lang.Object visit​(TemplateEngine.TemplateExpression expr,
                                       java.lang.Object data)
        Visit a template expression.
        Parameters:
        expr - the constant expression
        data - the visitor argument
        Returns:
        the visitor argument