## com.saxonica.stream.watch
Class ComposingWatch

    java.lang.Object
      com.saxonica.validate.AbstractWatch
          com.saxonica.stream.watch.ComposingWatch

All Implemented Interfaces:
  Watch

Direct Known Subclasses:
  CopyOfWatch, CountWatch, ForEachComposingWatch, SimpleContentWatch, StringValueWatch, TypedValueWatch, VoidWatch

    public abstract class ComposingWatch

extends AbstractWatch

A ComposingWatch is a Watch that evaluates an expression based on the nodes encountered in a streamed input document, passing the value of that expression as a sequence of items to an ItemFeed.

Constructor Summary
`ComposingWatch(Feed result, Stack<XPathContext> contextStack)`

Method Summary
`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()` Get the dynamic context (the top frame of the context stack)
`Stack<XPathContext>` `getContextStack()` Get the context stack
`Feed` `getResult()`
`void` `open()` Open the watch.

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

### ComposingWatch

    public ComposingWatch(Feed result,
                          Stack<XPathContext> contextStack)

Method Detail

### getResult

    public Feed getResult()

### getContext

    public XPathContext getContext()

  Get the dynamic context (the top frame of the context stack)

  Returns:
    the dynamic context

### getContextStack

    public Stack<XPathContext> getContextStack()

  Get the context stack

  Returns:
    the context stack

### open

    public void open()
              throws XPathException

  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

  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.

  Specified by:
    `close` in interface `Watch`
  Overrides:
    `close` in class `AbstractWatch`
  Throws:
    `XPathException`

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