Package net.sf.saxon.trace
Class TimingCodeInjector
- java.lang.Object
-
- net.sf.saxon.trace.TraceCodeInjector
-
- net.sf.saxon.trace.TimingCodeInjector
-
- All Implemented Interfaces:
CodeInjector
public class TimingCodeInjector extends TraceCodeInjector
A code injector that wraps the body of a template or function in a TraceExpression, which causes the TimingTraceListener to be notified at the start and end of the function/template evaluation
-
-
Constructor Summary
Constructors Constructor Description TimingCodeInjector()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expressioninject(Expression exp, StaticContext env, int construct, StructuredQName qName)If tracing, wrap an expression in a trace instructionClauseinjectClause(Clause target, StaticContext env, Container container)If tracing, add a clause to a FLWOR expression that can be used to monitor requests for tuples to be processed
-
-
-
Method Detail
-
inject
public Expression inject(Expression exp, StaticContext env, int construct, StructuredQName qName)
If tracing, wrap an expression in a trace instruction- Specified by:
injectin interfaceCodeInjector- Overrides:
injectin classTraceCodeInjector- Parameters:
exp- the expression to be wrappedenv- the static contextconstruct- integer constant identifying the kind of constructqName- the name of the construct (if applicable)- Returns:
- the expression that does the tracing
-
injectClause
public Clause injectClause(Clause target, StaticContext env, Container container)
If tracing, add a clause to a FLWOR expression that can be used to monitor requests for tuples to be processed- Specified by:
injectClausein interfaceCodeInjector- Overrides:
injectClausein classTraceCodeInjector- Parameters:
target- the clause whose evaluation is to be traced (or otherwise monitored)env-container- the container of the containing FLWORExpression @return the new clause to do the tracing; or null if no tracing is required at this point
-
-