com.saxonica.expr.flwor

## Class WindowClausePull

- java.lang.Object
- - net.sf.saxon.expr.flwor.TuplePull
  - - com.saxonica.expr.flwor.WindowClausePull

-     public class WindowClausePull
      extends TuplePull

  Implement a sliding or tumbling window clause of a FLWOR expression in tuple-pull mode. The entire window processing is activated once for each input tuple, and it generates one output tuple for each identified window.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `WindowClausePull(TuplePull source, WindowClause windowClause, XPathContext context)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Close the tuple stream, indicating that no more tuples will be supplied
    `boolean` | `nextTuple(XPathContext context)` Move on to the next tuple.
    `void` | `processWindow(WindowClause.Window w, XPathContext context)` Despatch a window to the output tuple stream.

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

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

- - ### Constructor Detail

    - #### WindowClausePull

          public WindowClausePull(TuplePull source,
                          WindowClause windowClause,
                          XPathContext context)

  - ### Method Detail

    - #### nextTuple

          public boolean nextTuple(XPathContext context)
                            throws XPathException

      Move on to the next tuple. Before returning, this method must set all the variables corresponding to the "returned" tuple in the local stack frame associated with the context object
      Specified by:
        `nextTuple` in class `TuplePull`
      Parameters:
        `context` - the dynamic evaluation context
      Returns:
        true if another tuple has been generated; false if the tuple stream is exhausted. If the method returns false, the values of the local variables corresponding to this tuple stream are undefined.
      Throws:
        `XPathException`

    - #### processWindow

          public void processWindow(WindowClause.Window w,
                           XPathContext context)
                             throws XPathException

      Despatch a window to the output tuple stream. This essentially means setting the relevant local variables on the context stack from information held in the window object.
      Parameters:
        `w` - the window to be despatched
        `context` - the dynamic evaluation context
      Throws:
        `XPathException`

    - #### close

          public void close()

      Close the tuple stream, indicating that no more tuples will be supplied
      Overrides:
        `close` in class `TuplePull`

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