public class ForkAdjunct extends StreamingAdjunct
The general strategy is to create an inversion of the expression in each prong of the fork, and to create a separate watch for each one. These watches create output which is buffered, and on completion the outputs of each watch are assembled in the right order.
The implementation is NOT multithreaded: although the prongs of the fork execute conceptually in parallel, in that they all act as listeners responding to the same sequence of events, they actually all run in the same thread.
|Constructor and Description|
|Modifier and Type||Method and Description|
Compute the posture and sweep of this expression as defined in the W3C streamability specifications.
Get a WatchMaker, a factory class that creates a Watch to evaluate this expression in streaming mode.
getConfiguration, getDefaultFeedMaker, getExpression, getFeedMaker, setConfiguration, setExpression, toStreamingPattern
public PostureAndSweep computeStreamability(boolean allowExtensions, ContextItemStaticInfo contextInfo, List<String> reasons)
allowExtensions- if false, the definition of "guaranteed streamability" in the W3C specification is used. If true, Saxon extensions are permitted, which make some
contextInfo- Information about the context item type and posture
reasons- the caller may supply a list, in which case the implementation may add to this
public WatchMaker getWatchMaker(boolean forGrouping) throws XPathException
Copyright (c) 2004-2014 Saxonica Limited. All rights reserved.