net.sf.saxon.expr.flwor

## Class TraceClause

- java.lang.Object
- - net.sf.saxon.expr.flwor.Clause
  - - net.sf.saxon.expr.flwor.TraceClause

-     public class TraceClause
      extends Clause

  A "trace" clause in a FLWOR expression, added by a TraceCodeInjector for diagnostic tracing, debugging, profiling or similar purposes.

- - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.expr.flwor.Clause

      `COUNT, FOR, GROUPBYCLAUSE, LET, ORDERBYCLAUSE, TRACE, WHERE, WINDOW`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `TraceClause(Clause target, NamespaceResolver nsResolver, Container container)` Create a traceClause

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `TraceClause` | `copy()` Create a copy of this clause
    `void` | `explain(ExpressionPresenter out)` Diagnostic print of expression structure.
    `int` | `getClauseKey()` Get a keyword identifying what kind of clause this is
    `NamespaceResolver` | `getNamespaceResolver()` Get the namespace bindings from the static context of the clause
    `TuplePull` | `getPullStream(TuplePull base, XPathContext context)` Get a tuple stream that implements the functionality of this clause, taking its input from another tuple stream which this clause modifies
    `TuplePush` | `getPushStream(TuplePush destination, XPathContext context)` Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple stream
    `void` | `processSubExpressions(ExpressionProcessor processor)` Process the subexpressions of this clause
    `void` | `setNamespaceResolver(NamespaceResolver nsResolver)` Set the namespace bindings from the static context of the clause
    `String` | `toString()`

    - ### Methods inherited from class net.sf.saxon.expr.flwor.Clause

      `containsNonInlineableVariableReference, gatherVariableReferences, getLocationId, getRangeVariables, optimize, refineVariableType, setLocationId, typeCheck`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### TraceClause

          public TraceClause(Clause target,
                     NamespaceResolver nsResolver,
                     Container container)

      Create a traceClause
      Parameters:
        `target` - the clause whose evaluation is being traced
        `container` - the container of the containing FLWORExpression

  - ### Method Detail

    - #### getNamespaceResolver

          public NamespaceResolver getNamespaceResolver()

      Get the namespace bindings from the static context of the clause
      Returns:
        a namespace resolver that reflects the in scope namespaces of the clause

    - #### setNamespaceResolver

          public void setNamespaceResolver(NamespaceResolver nsResolver)

      Set the namespace bindings from the static context of the clause
      Parameters:
        `nsResolver` - a namespace resolver that reflects the in scope namespaces of the clause

    - #### getClauseKey

          public int getClauseKey()

      Description copied from class: `Clause`
      Get a keyword identifying what kind of clause this is
      Specified by:
        `getClauseKey` in class `Clause`
      Returns:
        the kind of clause

    - #### copy

          public TraceClause copy()

      Description copied from class: `Clause`
      Create a copy of this clause
      Specified by:
        `copy` in class `Clause`
      Returns:
        the copied clause

    - #### getPullStream

          public TuplePull getPullStream(TuplePull base,
                                XPathContext context)

      Get a tuple stream that implements the functionality of this clause, taking its input from another tuple stream which this clause modifies
      Specified by:
        `getPullStream` in class `Clause`
      Parameters:
        `base` - the input tuple stream
        `context` - the dynamic evaluation context
      Returns:
        the output tuple stream

    - #### getPushStream

          public TuplePush getPushStream(TuplePush destination,
                                XPathContext context)

      Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple stream
      Specified by:
        `getPushStream` in class `Clause`
      Parameters:
        `destination` - the output tuple stream
        `context` - the dynamic evaluation context
      Returns:
        the push tuple stream that implements the functionality of this clause of the FLWOR expression

    - #### processSubExpressions

          public void processSubExpressions(ExpressionProcessor processor)
                                     throws XPathException

      Process the subexpressions of this clause
      Specified by:
        `processSubExpressions` in class `Clause`
      Parameters:
        `processor` - the expression processor used to process the subexpressions
      Throws:
        `XPathException` - if any error is detected

    - #### explain

          public void explain(ExpressionPresenter out)

      Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.
      Specified by:
        `explain` in class `Clause`
      Parameters:
        `out` - the expression presenter used to display the structure

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.