Class NewMapStreamer

java.lang.Object
com.saxonica.ee.stream.adjunct.StreamingAdjunct
com.saxonica.ee.stream.adjunct.NewMapStreamer
All Implemented Interfaces:
FeedMaker

public class NewMapStreamer extends StreamingAdjunct implements FeedMaker
Streaming code to implement an xsl:map instruction or map constructor, where each map entry is allowed to be consuming. Based on the code of ForkAdjunct
  • Constructor Details

    • NewMapStreamer

      public NewMapStreamer()
  • Method Details

    • computeStreamability

      public PostureAndSweep computeStreamability(ContextItemStaticInfoEE contextInfo, List<String> reasons)
      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.
      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
      Returns:
      the posture and sweep of the expression
    • getWatchMaker

      public WatchMaker getWatchMaker(boolean forGrouping) throws XPathException
      Description copied from class: StreamingAdjunct
      Get 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 value Expression.WATCH_METHOD
      Overrides:
      getWatchMaker in class StreamingAdjunct
      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
    • makeItemFeed

      public ItemFeed makeItemFeed(WatchManager watchManager, ItemFeed out, XPathContext context) throws XPathException
      Specified by:
      makeItemFeed in interface FeedMaker
      Throws:
      XPathException