com.saxonica.expr.ee

## Class MultithreadedApplyTemplates

- java.lang.Object
- - net.sf.saxon.expr.Expression
  - - net.sf.saxon.expr.instruct.Instruction
    - - net.sf.saxon.expr.instruct.ApplyTemplates
      - - com.saxonica.expr.ee.MultithreadedApplyTemplates

- All Implemented Interfaces:
    Serializable, SourceLocator, LocationProvider, SaxonLocator, ITemplateCall, TailCallReturner, InstructionInfo, Locator

      public class MultithreadedApplyTemplates
      extends ApplyTemplates

  This instruction represents an xsl:apply-templates instruction using more than one thread
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `MultithreadedApplyTemplates.ApplyTemplatesPackage` An ApplyTemplatesPackage is an object that encapsulates the sequence of nodes to be processed, the mode, the parameters to be supplied, and the execution context.
    `class` | `MultithreadedApplyTemplates.MyRejectedExecutionHandelerImpl` Handles exceptions thrown in the thread pool manager

  - ### Field Summary

    - ### Fields inherited from class net.sf.saxon.expr.instruct.ApplyTemplates

      `actualParams, implicitSelect, mode, select, threads, tunnelParams, useCurrentMode, useTailRecursion`

    - ### Fields inherited from class net.sf.saxon.expr.Expression

      `EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, INHERITED_CONTEXT, INSPECTION_CONTEXT, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, NAVIGATION_CONTEXT, NODE_VALUE_CONTEXT, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, W3C_CONSUMING, W3C_FREE_RANGING, W3C_GROUP_CONSUMING, W3C_MOTIONLESS, WATCH_METHOD`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MultithreadedApplyTemplates(Expression select, boolean useCurrentMode, boolean useTailRecursion, boolean implicitSelect, Mode mode, Expression threads)` Construct an apply-templates instructino

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected TailCall` | `apply(XPathContext context, boolean returnTailCall)`
    `void` | `shutdown()`

    - ### Methods inherited from class net.sf.saxon.expr.instruct.ApplyTemplates

      `addToPathMap, copy, createsNewNodes, explain, explainStreaming, getActualParams, getExpressionCompiler, getImplementationMethod, getInstructionNameCode, getIntrinsicDependencies, getMode, getNumberOfThreadsExpression, getSelectExpression, getStreamability, getStreamingAdjunct, getTunnelParams, init, isImplicitSelect, iterateSubExpressions, optimize, process, processLeavingTail, promoteInst, replaceSubExpression, setActualParameters, simplify, typeCheck, usesCurrentMode, useTailRecursion`

    - ### Methods inherited from class net.sf.saxon.expr.instruct.Instruction

      `assembleParams, assembleTunnelParams, computeCardinality, computeSpecialProperties, dynamicError, evaluateAsString, evaluateItem, getConstructType, getExpressionName, getInstructionName, getItemType, getIteratorFromProcessMethod, getSourceLocator, isXSLT, iterate, promote`

    - ### Methods inherited from class net.sf.saxon.expr.Expression

      `adoptChildExpression, checkForUpdatingSubexpressions, checkPermittedContents, computeDependencies, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntegerBounds, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, iterateSubExpressionInfo, markTailFunctionCalls, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toPattern, toStreamingPattern, toString, typeError`

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

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

    - ### Methods inherited from interface javax.xml.transform.SourceLocator

      `getColumnNumber, getLineNumber, getPublicId, getSystemId`

- - ### Constructor Detail

    - #### MultithreadedApplyTemplates

          public MultithreadedApplyTemplates(Expression select,
                                     boolean useCurrentMode,
                                     boolean useTailRecursion,
                                     boolean implicitSelect,
                                     Mode mode,
                                     Expression threads)

      Construct an apply-templates instructino
      Parameters:
        `select` - the select expression
        `useCurrentMode` - true if mode="#current" was specified
        `useTailRecursion` - true if this instruction is the last in its template
        `implicitSelect` - true if the select expression is implicit, that is, if there was no explicit select expression in the call. This information is used only to make error messages more meaningful.
        `mode` - the mode specified on apply-templates

  - ### Method Detail

    - #### apply

          protected TailCall apply(XPathContext context,
                       boolean returnTailCall)
                            throws XPathException

      Overrides:
        `apply` in class `ApplyTemplates`
      Throws:
        `XPathException`

    - #### shutdown

          public void shutdown()

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