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[]exprsThe expressions called by the script through jexl:print.private ASTJexlScriptscriptThe 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.ObjectacceptStatement(JexlNode child, java.lang.Object data)Adds a statement node to the rebuilt expression.booleandebug(JxltEngine.Expression je)Position the debugger on the root of a template expression.booleandebug(JxltEngine.Template jt)Position the debugger on the root of a template script.private TemplateEngine.TemplateExpressiongetPrintStatement(JexlNode child)In a template, any statement that is not 'jexl:print(n)' must be prefixed by "$$".private voidnewJexlLine()Insert $$ and \n when needed.private voidnewJxltLine()Insert \n when needed.voidreset()Resets this debugger state.private java.lang.Objectvisit(TemplateEngine.CompositeExpression expr, java.lang.Object data)Visit a composite expression.private java.lang.Objectvisit(TemplateEngine.ConstantExpression expr, java.lang.Object data)Visit a constant expression.private java.lang.Objectvisit(TemplateEngine.DeferredExpression expr, java.lang.Object data)Visit a deferred expression.private java.lang.Objectvisit(TemplateEngine.ImmediateExpression expr, java.lang.Object data)Visit an immediate expression.private java.lang.Objectvisit(TemplateEngine.NestedExpression expr, java.lang.Object data)Visit a nested expression.private java.lang.Objectvisit(TemplateEngine.TemplateExpression expr, java.lang.Object data)Visit a template expression.protected java.lang.Objectvisit(ASTBlock node, java.lang.Object data)-
Methods inherited from class org.apache.commons.jexl3.internal.Debugger
accept, acceptValue, 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, 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:DebuggerAdds a statement node to the rebuilt expression.- Overrides:
acceptStatementin 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.TemplateExpressioninstance, 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
TemplateScriptinstance, 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:DebuggerResets 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
-
-