Package com.saxonica.ee.stream.adjunct

## Class FirstItemExpressionAdjunct

- java.lang.Object
- - com.saxonica.ee.stream.adjunct.StreamingAdjunct
  - - com.saxonica.ee.stream.adjunct.TransmissionAdjunct
    - - com.saxonica.ee.stream.adjunct.FilteringAdjunct
      - - com.saxonica.ee.stream.adjunct.FirstItemExpressionAdjunct

- All Implemented Interfaces:
    `FeedMaker`

      public class FirstItemExpressionAdjunct
      extends FilteringAdjunct
      implements FeedMaker

  Generate streaming code for a first item expression (when not part of a Watch).

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FirstItemExpressionAdjunct()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `PostureAndSweep` | `computeStreamability​(ContextItemStaticInfoEE contextInfo, java.util.List<java.lang.String> reasons)` | Get the posture and sweep of this expression as defined in the W3C streamability specifications.
    `FilteringFeed.Filter` | `makeFilter​(XPathContext context, ItemFeed out)` | Make a filter for the event stream

    - ### Methods inherited from class com.saxonica.ee.stream.adjunct.FilteringAdjunct

      `makeItemFeed`

    - ### Methods inherited from class com.saxonica.ee.stream.adjunct.TransmissionAdjunct

      `getWatchMaker, makeTransmissionFlow`

    - ### Methods inherited from class com.saxonica.ee.stream.adjunct.StreamingAdjunct

      `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`

- - ### Constructor Detail

    - #### FirstItemExpressionAdjunct

          public FirstItemExpressionAdjunct()

  - ### Method Detail

    - #### computeStreamability

          public PostureAndSweep computeStreamability​(ContextItemStaticInfoEE contextInfo,
                                                      java.util.List<java.lang.String> reasons)

      Get the posture and sweep of this expression as defined in the W3C streamability specifications. This provides an assessment of stylesheet code against the W3C criteria for guaranteed streamability, and is implemented to allow these criteria to be tested. It is not the case that all expression that emerge as streamable from this analysis are currently capable of being streamed by Saxon
      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

    - #### makeFilter

          public FilteringFeed.Filter makeFilter​(XPathContext context,
                                                 ItemFeed out)
                                          throws XPathException

      Make a filter for the event stream
      Specified by:
        `makeFilter` in class `FilteringAdjunct`
      Parameters:
        `context` - the XPath dynamic context
        `out` - destination for the output of this filter
      Returns:
        a filter that can be added to the event stream
      Throws:
        `XPathException` - if a dynamic evaluation error occurs