Package net.sf.saxon.expr.parser
Interface CodeInjector
-
- All Known Implementing Classes:
TimingCodeInjector,TraceCodeInjector,XQueryTraceCodeInjector,XSLTTraceCodeInjector
public interface CodeInjectorA code injector can be used to add code to the expression tree (for example, diagnostic tracing code) during the process of parsing and tree construction
-
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default Expressioninject(Expression exp)Process an expression.default ClauseinjectClause(FLWORExpression expression, Clause clause)Insert a tracing or monitoring clause into the pipeline of clauses that evaluates a FLWOR expressiondefault voidprocess(TraceableComponent component)Process a component such as a function, template, or global variable.
-
-
-
Method Detail
-
inject
default Expression inject(Expression exp)
Process an expression.- Parameters:
exp- the expression to be processed- Returns:
- a new expression. Possibly the original expression unchanged; possibly a wrapper
expression (such as a
TraceExpression; possibly a modified version of the original expression. The default implementation returns the supplied expression unchanged.
-
process
default void process(TraceableComponent component)
Process a component such as a function, template, or global variable. The default implementation does nothing.- Parameters:
component- the component to be processed
-
injectClause
default Clause injectClause(FLWORExpression expression, Clause clause)
Insert a tracing or monitoring clause into the pipeline of clauses that evaluates a FLWOR expression- Parameters:
expression- the containing FLWOR expressionclause- the clause whose execution is being monitored- Returns:
- an injected clause; or the original. The default implementation returns the original clause unchanged.
-
-