Class TemplateDebugger
- java.lang.Object
-
- org.apache.commons.jexl3.parser.ParserVisitor
-
- org.apache.commons.jexl3.internal.Debugger
-
- org.apache.commons.jexl3.internal.TemplateDebugger
-
- All Implemented Interfaces:
JexlInfo.Detail
public class TemplateDebugger extends Debugger
A visitor for templates.A friend (ala C++) of template engine.
-
-
Field Summary
Fields Modifier and Type Field Description private TemplateEngine.TemplateExpression[]
exprs
The expressions called by the script through jexl:print.private ASTJexlScript
script
The outer script.-
Fields inherited from class org.apache.commons.jexl3.internal.Debugger
arrow, builder, cause, depth, end, indent, indentLevel, lf, outputPragmas, QUOTED_IDENTIFIER, start
-
-
Constructor Summary
Constructors Constructor Description TemplateDebugger()
Default ctor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.Object
acceptStatement(JexlNode child, java.lang.Object data)
Adds a statement node to the rebuilt expression.boolean
debug(JxltEngine.Expression je)
Position the debugger on the root of a template expression.boolean
debug(JxltEngine.Template jt)
Position the debugger on the root of a template script.private TemplateEngine.TemplateExpression
getPrintStatement(JexlNode child)
In a template, any statement that is not 'jexl:print(n)' must be prefixed by "$$".private void
newJexlLine()
Insert $$ and \n when needed.private void
newJxltLine()
Insert \n when needed.void
reset()
Resets this debugger state.private java.lang.Object
visit(TemplateEngine.CompositeExpression expr, java.lang.Object data)
Visit a composite expression.private java.lang.Object
visit(TemplateEngine.ConstantExpression expr, java.lang.Object data)
Visit a constant expression.private java.lang.Object
visit(TemplateEngine.DeferredExpression expr, java.lang.Object data)
Visit a deferred expression.private java.lang.Object
visit(TemplateEngine.ImmediateExpression expr, java.lang.Object data)
Visit an immediate expression.private java.lang.Object
visit(TemplateEngine.NestedExpression expr, java.lang.Object data)
Visit a nested expression.private java.lang.Object
visit(TemplateEngine.TemplateExpression expr, java.lang.Object data)
Visit a template expression.protected java.lang.Object
visit(ASTBlock node, java.lang.Object data)
-
Methods inherited from class org.apache.commons.jexl3.internal.Debugger
accept, additiveNode, check, data, debug, debug, debug, debug, depth, end, getFeatures, indentation, infixChildren, lineFeed, needQuotes, outputPragmas, postfixChild, prefixChild, setArrowSymbol, setIndentation, start, toString, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visitParameter
-
Methods inherited from class org.apache.commons.jexl3.parser.ParserVisitor
visit, visit
-
-
-
-
Field Detail
-
script
private ASTJexlScript script
The outer script.
-
exprs
private TemplateEngine.TemplateExpression[] exprs
The expressions called by the script through jexl:print.
-
-
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 classDebugger
- Parameters:
child
- the child nodedata
- visitor pattern argument- Returns:
- visitor pattern value
-
debug
public boolean debug(JxltEngine.Expression je)
Position the debugger on the root of a template expression.- Parameters:
je
- the expression- Returns:
- true if the expression was a
TemplateEngine.TemplateExpression
instance, false otherwise
-
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.
-
visit
protected java.lang.Object visit(ASTBlock node, java.lang.Object data)
-
visit
private java.lang.Object visit(TemplateEngine.CompositeExpression expr, java.lang.Object data)
Visit a composite expression.- Parameters:
expr
- the composite expressiondata
- 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 expressiondata
- 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 expressiondata
- 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 expressiondata
- 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 expressiondata
- 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 expressiondata
- the visitor argument- Returns:
- the visitor argument
-
-