Package com.saxonica.ee.stream.adjunct

## Class ConditionalBlockAdjunct

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

- All Implemented Interfaces:
    `FeedMaker`

      public class ConditionalBlockAdjunct
      extends TransmissionAdjunct
      implements FeedMaker

  Generate streaming code for a conditional Block, that is a sequence constructor containing xsl:on-empty and/or xsl:on-not-empty instructions

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `ConditionalBlockAdjunct.ConditionalBlockFeed` |

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `WatchMaker` | `getWatchMaker​(boolean forGrouping)` | Get a WatchMaker, a factory class that creates a Watch to evaluate this expression in streaming mode.
    `ItemFeed` | `makeItemFeed​(WatchManager watchManager, ItemFeed out, XPathContext context)` |

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

      `makeTransmissionFlow`

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

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

- - ### Constructor Detail

    - #### ConditionalBlockAdjunct

          public ConditionalBlockAdjunct()

  - ### Method Detail

    - #### getWatchMaker

          public WatchMaker getWatchMaker​(boolean forGrouping)
                                   throws XPathException

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