com.saxonica.stream.watch

## Class EventPushingWatch

- java.lang.Object
- - com.saxonica.validate.AbstractWatch
  - - com.saxonica.stream.watch.EventPushingWatch

- All Implemented Interfaces:
    Watch
  Direct Known Subclasses:
    ApplyTemplatesWatch, ForEachWatch, GroupingWatch, IterateWatch

      public abstract class EventPushingWatch
      extends AbstractWatch

  A EvaluatingWatch is a Watch that evaluates an expression based on the nodes encountered in a streamed input document, appending the value of that expression to the Watch for the next expression in the streaming route.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `EventPushingWatch(Expression expression, SequenceReceiver result, Stack<XPathContext> contextStack)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` The close() method is called immediately before the Watch is destroyed, that is, when the element whose declaration scopes the constraint implemented by this Watch goes out of scope.
    `XPathContext` | `getContext()`
    `Stack<XPathContext>` | `getContextStack()`
    `Expression` | `getExpression()`
    `Feed` | `getParentExpressionFeed()`
    `SequenceReceiver` | `getResult()`
    `void` | `open()` Open the watch.
    `void` | `setParentExpressionFeed(Feed feed)` Set a feed to be notified when this watch is opened and closed.

    - ### Methods inherited from class com.saxonica.validate.AbstractWatch

      `getAnchorNode, getNamespaceResolver, getPipelineConfiguration, getSelection, notifySelectedLeafNode, setAnchorNode, setNamespaceResolver, setPipelineConfiguration, setSelection`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface com.saxonica.stream.watch.Watch

      `endSelectedParentNode, startSelectedParentNode`

- - ### Constructor Detail

    - #### EventPushingWatch

          public EventPushingWatch(Expression expression,
                           SequenceReceiver result,
                           Stack<XPathContext> contextStack)

  - ### Method Detail

    - #### getResult

          public SequenceReceiver getResult()

    - #### getExpression

          public Expression getExpression()

    - #### getContext

          public XPathContext getContext()

    - #### getContextStack

          public Stack<XPathContext> getContextStack()

    - #### setParentExpressionFeed

          public void setParentExpressionFeed(Feed feed)

      Set a feed to be notified when this watch is opened and closed. Typically this feed is a ComplexNodeEventFeed, which is responsible for outputting events representing the start and end of constructed elements produced by a parent expression.
      Parameters:
        `feed` - the feed to be notified when this Watch is opened or closed.

    - #### getParentExpressionFeed

          public Feed getParentExpressionFeed()

    - #### open

          public void open()
                    throws XPathException

      Description copied from class: `AbstractWatch`
      Open the watch. This is done at the point where it first starts watching for nodes that match the selection.
      Specified by:
        `open` in interface `Watch`
      Overrides:
        `open` in class `AbstractWatch`
      Throws:
        `XPathException`

    - #### close

          public void close()
                     throws XPathException

      Description copied from class: `AbstractWatch`
      The close() method is called immediately before the Watch is destroyed, that is, when the element whose declaration scopes the constraint implemented by this Watch goes out of scope. The default implementation does nothing.
      Specified by:
        `close` in interface `Watch`
      Overrides:
        `close` in class `AbstractWatch`
      Throws:
        `XPathException`

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.