Class CurrentMergeGroupStreamer

  • All Implemented Interfaces:
    FeedMaker

    public class CurrentMergeGroupStreamer
    extends TransmissionAdjunct
    Generate streaming code for a call on current-merge-group().
    • Constructor Detail

      • CurrentMergeGroupStreamer

        public CurrentMergeGroupStreamer()
    • Method Detail

      • computeStreamability

        public PostureAndSweep computeStreamability​(ContextItemStaticInfoEE contextInfo,
                                                    java.util.List<java.lang.String> reasons)
        Description copied from class: StreamingAdjunct
        Compute the posture and sweep of this expression as defined in the W3C streamability specifications. This must be implemented in all subclasses that don't use the general streamability rules. The implementation should have the side-effect of computing the streamability of all subexpressions, recursively.
        Overrides:
        computeStreamability in class StreamingAdjunct
        Parameters:
        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; the contents are human-readable messages explaining why the expression is not streamable.
        Returns:
        the posture and sweep of the expression
      • toStreamingPattern

        public Pattern toStreamingPattern​(Configuration config)
        Convert this expression to a streaming pattern (a pattern used internally to match nodes during push processing of an event stream)
        Overrides:
        toStreamingPattern in class StreamingAdjunct
        Parameters:
        config - the Saxon configuration
        Returns:
        the equivalent pattern if conversion succeeds; otherwise null
      • makeTransmissionFlow

        public Trigger makeTransmissionFlow​(WatchManager watchManager,
                                            Expression exp,
                                            ItemFeed out,
                                            XPathContext context)
                                     throws XPathException
        Description copied from class: TransmissionAdjunct
        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).
        Overrides:
        makeTransmissionFlow in class TransmissionAdjunct
        Parameters:
        watchManager - the WatchManager that fires this trigger
        exp - the expression
        out - the next action in the push pipeline for evaluation
        context - the XPath dynamic context
        Returns:
        the Trigger (a Watch with a pattern)
        Throws:
        XPathException - if a dynamic evaluation error occurs.