Class 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.
    • Constructor Detail

      • TraceClause

        public TraceClause​(FLWORExpression expression,
                           Clause target)
        Create a traceClause
        Parameters:
        expression - the FLWOR expression
        target - the clause whose evaluation is being traced
    • 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 Clause.ClauseName 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​(FLWORExpression flwor,
                                RebindingMap rebindings)
        Description copied from class: Clause
        Create a copy of this clause
        Specified by:
        copy in class Clause
        Parameters:
        flwor - the new FLWORExpression to contain the copied clause
        rebindings - the rebinding map
        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,
                                       Outputter output,
                                       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
        output - the destination for the result
        context - the dynamic evaluation context
        Returns:
        the push tuple stream that implements the functionality of this clause of the FLWOR expression
      • processOperands

        public void processOperands​(OperandProcessor processor)
                             throws XPathException
        Process the subexpressions of this clause
        Specified by:
        processOperands in class Clause
        Parameters:
        processor - the expression processor used to process the subexpressions
        Throws:
        XPathException - if any error is detected
      • addToPathMap

        public void addToPathMap​(PathMap pathMap,
                                 PathMap.PathMapNodeSet pathMapNodeSet)
        Description copied from class: Clause
        Collect information about the navigation paths followed by this clause, for document projection purposes
        Specified by:
        addToPathMap in class Clause
        Parameters:
        pathMap - the path map in which the data is to be collected
        pathMapNodeSet - the path map node set representing the paths to the context item
      • explain

        public void explain​(ExpressionPresenter out)
                     throws XPathException
        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
        Throws:
        XPathException - if any error occurs
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object