com.saxonica.expr.ee
Class MultithreadedForEach
java.lang.Object
net.sf.saxon.expr.Expression
net.sf.saxon.expr.instruct.Instruction
net.sf.saxon.expr.instruct.ForEach
com.saxonica.expr.ee.MultithreadedForEach
- All Implemented Interfaces:
- Serializable, SourceLocator, LocationProvider, SaxonLocator, ContextMappingFunction<Item>, ContextSwitchingExpression, TailCallReturner, InstructionInfo, Locator
public class MultithreadedForEach
- extends ForEach
This instruction represents an xsl:for-each instruction using more than one thread
- See Also:
- Serialized Form
Fields inherited from class net.sf.saxon.expr.Expression |
EFFECTIVE_BOOLEAN_VALUE, EVALUATE_METHOD, EVENT_FEED_METHOD, ITEM_FEED_METHOD, ITERATE_METHOD, locationId, MAX_SEQUENCE_LENGTH, MAX_STRING_LENGTH, PROCESS_METHOD, PUSH_SELECTION, staticProperties, UNBOUNDED_LOWER, UNBOUNDED_UPPER, WATCH_METHOD |
Methods inherited from class net.sf.saxon.expr.instruct.ForEach |
addToPathMap, checkPermittedContents, computeDependencies, computeSpecialProperties, createsNewNodes, explain, getActionExpression, getControlledExpression, getControllingExpression, getInstructionNameCode, getItemType, getNumberOfThreadsExpression, getSelectExpression, hasLoopingSubexpression, iterateSameFocusSubExpressions, iterateSubExpressions, map, optimize, promoteInst, replaceSubExpression, setActionExpression, setSelectExpression, simplify, typeCheck |
Methods inherited from class net.sf.saxon.expr.instruct.Instruction |
assembleParams, assembleTunnelParams, computeCardinality, dynamicError, evaluateAsString, evaluateItem, getConstructType, getExpressionName, getInstructionName, getIteratorFromProcessMethod, getSourceLocator, isXSLT, process, promote |
Methods inherited from class net.sf.saxon.expr.Expression |
adoptChildExpression, checkForUpdatingSubexpressions, computeStaticProperties, doPromotion, dynamicError, effectiveBooleanValue, evaluatePendingUpdates, explain, getCardinality, getColumnNumber, getColumnNumber, getContainer, getDependencies, getEvaluationMethod, getExecutable, getHostLanguage, getIntegerBounds, getIntrinsicDependencies, getLineNumber, getLineNumber, getLocationId, getLocationProvider, getObjectName, getProperties, getProperty, getPublicId, getSlotsUsed, getSpecialProperties, getSystemId, getSystemId, hasVariableBinding, implementsStaticTypeCheck, isSubtreeExpression, isUpdatingExpression, isVacuousExpression, iterateEvents, markTailFunctionCalls, resetLocalStaticProperties, setContainer, setEvaluationMethod, setFiltered, setFlattened, setLocationId, staticTypeCheck, suppressValidation, toString, typeError |
MultithreadedForEach
public MultithreadedForEach(Expression select,
Expression action,
boolean containsTailCall,
Expression threads)
copy
public Expression copy()
- Copy an expression. This makes a deep copy.
- Overrides:
copy
in class ForEach
- Returns:
- the copy of the original expression
getImplementationMethod
public int getImplementationMethod()
- An implementation of Expression must provide at least one of the methods evaluateItem(), iterate(), or process().
This method indicates which of these methods is provided. This implementation provides only the
process() method natively.
- Overrides:
getImplementationMethod
in class ForEach
- Returns:
- the implementation method, for example
Expression.ITERATE_METHOD
or Expression.EVALUATE_METHOD
or
Expression.PROCESS_METHOD
processLeavingTail
public TailCall processLeavingTail(XPathContext context)
throws XPathException
- Description copied from class:
Instruction
- ProcessLeavingTail: called to do the real work of this instruction. This method
must be implemented in each subclass. The results of the instruction are written
to the current Receiver, which can be obtained via the Controller.
- Specified by:
processLeavingTail
in interface TailCallReturner
- Overrides:
processLeavingTail
in class ForEach
- Parameters:
context
- The dynamic context of the transformation, giving access to the current node,
the current variables, etc.
- Returns:
- null if the instruction has completed execution; or a TailCall indicating
a function call or template call that is delegated to the caller, to be made after the stack has
been unwound so as to save stack space.
- Throws:
XPathException
- if a dynamic error occurs during the evaluation
of the instruction
iterate
public SequenceIterator iterate(XPathContext context)
throws XPathException
- Return an Iterator to iterate over the values of the sequence.
- Overrides:
iterate
in class ForEach
- Parameters:
context
- supplies the context for evaluation
- Returns:
- a SequenceIterator that can be used to iterate over the result
of the expression
- Throws:
XPathException
- if any dynamic error occurs evaluating the
expression
explainThreads
protected void explainThreads(ExpressionPresenter out)
- Add the value of the saxon:threads attribute to the explain output
- Overrides:
explainThreads
in class ForEach
- Parameters:
out
- the destination for explain output
Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.