Package net.sf.saxon.expr.parser
Interface CodeInjector
-
- All Known Implementing Classes:
TimingCodeInjector
,TraceCodeInjector
,XQueryTraceCodeInjector
,XSLTTraceCodeInjector
public interface CodeInjector
A 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 Expression
inject(Expression exp)
Process an expression.default Clause
injectClause(FLWORExpression expression, Clause clause)
Insert a tracing or monitoring clause into the pipeline of clauses that evaluates a FLWOR expressiondefault void
process(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.
-
-