Package net.sf.saxon.trace
Class TraceCodeInjector
- java.lang.Object
-
- net.sf.saxon.trace.TraceCodeInjector
-
- All Implemented Interfaces:
CodeInjector
- Direct Known Subclasses:
TimingCodeInjector,XQueryTraceCodeInjector,XSLTTraceCodeInjector
public class TraceCodeInjector extends java.lang.Object implements CodeInjector
A code injector that wraps every expression (other than a literal) in a TraceExpression, which causes a TraceListener to be notified when the expression is evaluated
-
-
Constructor Summary
Constructors Constructor Description TraceCodeInjector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expressioninject(Expression exp)Process an expression.ClauseinjectClause(FLWORExpression expression, Clause clause)Insert a tracing or monitoring clause into the pipeline of clauses that evaluates a FLWOR expressionprotected booleanisApplicable(Expression exp)voidprocess(TraceableComponent component)Process a component such as a function, template, or global variable.
-
-
-
Method Detail
-
inject
public Expression inject(Expression exp)
Description copied from interface:CodeInjectorProcess an expression.- Specified by:
injectin interfaceCodeInjector- 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.
-
isApplicable
protected boolean isApplicable(Expression exp)
-
process
public void process(TraceableComponent component)
Description copied from interface:CodeInjectorProcess a component such as a function, template, or global variable. The default implementation does nothing.- Specified by:
processin interfaceCodeInjector- Parameters:
component- the component to be processed
-
injectClause
public Clause injectClause(FLWORExpression expression, Clause clause)
Insert a tracing or monitoring clause into the pipeline of clauses that evaluates a FLWOR expression- Specified by:
injectClausein interfaceCodeInjector- 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.
-
-