Package com.saxonica.ee.stream
Class PushToPull
- java.lang.Object
-
- com.saxonica.ee.stream.PushToPull
-
public class PushToPull extends java.lang.Object
This class evaluates an expression in push mode in one thread, and provides an iterator to read the results of the expression in pull mode in the original thread.It is used when an xsl:stream instruction is executed in pull mode, for example when it is called within a function. It is also used for the implicit xsl:stream instruction executed during streamed merging.
- Since:
- 9.7. This class replaces the Conduit class used in previous Saxon releases, which used a home-grown equivalent of the BlockingQueue.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
PushToPull.Pusher
-
Constructor Summary
Constructors Constructor Description PushToPull(PushToPull.Pusher expression, XPathContext context)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SequenceIterator
getIterator()
Get an iterator over the result of evaluating the supplied expression.
-
-
-
Constructor Detail
-
PushToPull
public PushToPull(PushToPull.Pusher expression, XPathContext context)
-
-
Method Detail
-
getIterator
public SequenceIterator getIterator()
Get an iterator over the result of evaluating the supplied expression.- Returns:
- an iterator. Calls to next() on this iterator will read items from the queue, waiting if necessary until the next item becomes available.
-
-