Package com.saxonica.ee.stream.adjunct
Class TransmissionAdjunct
- java.lang.Object
-
- com.saxonica.ee.stream.adjunct.StreamingAdjunct
-
- com.saxonica.ee.stream.adjunct.TransmissionAdjunct
-
- All Implemented Interfaces:
FeedMaker
- Direct Known Subclasses:
AbsorbingFunctionCallAdjunct,AdjacentTextNodeMergerAdjunct,ArrayBlockAdjunct,BlockAdjunct,CardinalityCheckerAdjunct,ChooseAdjunct,ConditionalBlockAdjunct,CurrentMergeGroupStreamer,DeepDescentFunctionCallAdjunct,DocumentSorterAdjunct,FilterFunctionCallAdjunct,FilteringAdjunct,ForEachAdjunct,InsertBeforeStreamer,ItemCheckerAdjunct,IterateAdjunct,LetExpressionAdjunctB,OnEmptyAdjunct,OnNonEmptyAdjunct,ShallowDescentFunctionCallAdjunct,SwitchAdjunct,TraceExprAdjunct,TraceStreamer,TreatFnStreamer,TryCatchAdjunct,VennExpressionAdjunct,WherePopulatedAdjunct
public abstract class TransmissionAdjunct extends StreamingAdjunct implements FeedMaker
A subclass of StreamingAdjunct used for expressions that have a sequence-valued operand with usage transmission. Such expressions may appear as a filter for striding or crawling nodes, in which case they need to filter (or in some cases augment) the event stream rather than operating at the level of composed items.
-
-
Constructor Summary
Constructors Constructor Description TransmissionAdjunct()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WatchMakergetWatchMaker(boolean forGrouping)Get a WatchMaker, a factory class that creates a Watch to evaluate this expression in streaming mode.TriggermakeTransmissionFlow(WatchManager watchManager, Expression exp, ItemFeed out, XPathContext context)Make a Trigger that implements this expression in streaming mode.-
Methods inherited from class com.saxonica.ee.stream.adjunct.StreamingAdjunct
computeStreamability, findConsumingArg, getConfiguration, getDefaultFeedMaker, getExpression, getFeedMaker, makeStreamingAdjunct, setConfiguration, setExpression, toStreamingPattern
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.saxonica.ee.stream.feed.FeedMaker
makeItemFeed
-
-
-
-
Method Detail
-
getWatchMaker
public WatchMaker getWatchMaker(boolean forGrouping) throws XPathException
Description copied from class:StreamingAdjunctGet a WatchMaker, a factory class that creates a Watch to evaluate this expression in streaming mode. This method will only be called if the getImplementationMethod() method of the expression includes the valueExpression.WATCH_METHOD- Overrides:
getWatchMakerin classStreamingAdjunct- Parameters:
forGrouping- true if the selected items are being grouped- Returns:
- a Watchmaker to evaluate the expression, or null if it is not streamable with respect to the specificed argument.
- Throws:
XPathException- in the event of a failure
-
makeTransmissionFlow
public Trigger makeTransmissionFlow(WatchManager watchManager, Expression exp, ItemFeed out, XPathContext context) throws XPathException
Make a Trigger that implements this expression in streaming mode. This method is used for an expression that is striding or crawling, and it delivers a Trigger connected to a sequence of Feeds which together have the effect of delivering a sequence of events and/or items that together represent the results of this instruction. This method MUST be implemented for every expression that has an operand whose usage is transmission (and for every such operand).- Parameters:
watchManager- the WatchManager that fires this triggerexp- the expressionout- the next action in the push pipeline for evaluationcontext- the XPath dynamic context- Returns:
- the Trigger (a Watch with a pattern)
- Throws:
XPathException- if a dynamic evaluation error occurs.
-
-