com.saxonica.expr.flwor
Class WindowClausePull

java.lang.Object
  extended by net.sf.saxon.expr.flwor.TuplePull
      extended by 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
WindowClausePull(TuplePull source, WindowClause windowClause, XPathContext context)
           
 
Method Summary
 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-2011 Saxonica Limited. All rights reserved.