Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.saxonica.expr.flwor
Class WindowClause

    java.lang.Object
      net.sf.saxon.expr.flwor.Clause
          com.saxonica.expr.flwor.WindowClause

    public class WindowClause

extends Clause

Implements an XQuery 3.0 sliding or tumbling window clause within a FLWOR expression

Nested Class Summary
`protected static class` | `WindowClause.Window` Information about a window: the items making up the window, as well as the variables relating to the start and end of the window, and the status of the winoow in relation to the processing of the current input sequence.

Field Summary
`static int` | `END_ITEM`
`static int` | `END_ITEM_POSITION`
`static int` | `END_NEXT_ITEM`
`static int` | `END_PREVIOUS_ITEM`
`static int` | `START_ITEM`
`static int` | `START_ITEM_POSITION`
`static int` | `START_NEXT_ITEM`
`static int` | `START_PREVIOUS_ITEM`
`static int` | `WINDOW_VAR`

Fields inherited from class net.sf.saxon.expr.flwor.Clause
`COUNT, FOR, GROUPBYCLAUSE, LET, ORDERBYCLAUSE, WHERE, WINDOW`

Constructor Summary
`WindowClause()`

Method Summary
`Clause` | `copy()`
`void` | `explain(ExpressionPresenter out)` Diagnostic print of expression structure.
`int` | `getClauseKey()` Get a keyword identifying what kind of clause this is
`Expression` | `getEndCondition()`
`TuplePull` | `getPullStream(TuplePull base, XPathContext context)` Get a pull-mode tuple stream that implements the functionality of this clause, taking its input from another tuple stream which this clause modifies
`TuplePush` | `getPushStream(TuplePush destination, XPathContext context)` Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple stream
`LocalVariableBinding[]` | `getRangeVariables()` Get the variables bound by this clause
`Expression` | `getSequence()`
`Expression` | `getStartCondition()`
`LocalVariableBinding` | `getVariableBinding(int role)`
`boolean` | `isIncludeUnclosedWindows()`
`boolean` | `isSlidingWindow()`
`boolean` | `isTumblingWindow()`
`protected static ValueRepresentation` | `makeValue(Item item)`
`protected boolean` | `matchesEnd(WindowClause.Window window, Item previous, Item current, Item next, int position, XPathContext context)` Determine whether the current item is the last item in a window
`protected boolean` | `matchesStart(Item previous, Item current, Item next, int position, XPathContext context)` Determine whether the current item is the start of a new window
`void` | `processSubExpressions(ExpressionProcessor processor)` Process the subexpressions of this clause
`void` | `setEndCondition(Expression endCondition)`
`void` | `setIncludeUnclosedWindows(boolean include)`
`void` | `setIsSlidingWindow(boolean sliding)`
`void` | `setSequence(Expression sequence)`
`void` | `setStartCondition(Expression startCondition)`
`void` | `setVariableBinding(int role, LocalVariableBinding binding)`

Methods inherited from class net.sf.saxon.expr.flwor.Clause
`gatherVariableReferences, optimize, refineVariableType, typeCheck`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### WINDOW_VAR

    public static final int WINDOW_VAR

See Also:
  Constant Field Values

### START_ITEM

    public static final int START_ITEM

See Also:
  Constant Field Values

### START_ITEM_POSITION

    public static final int START_ITEM_POSITION

See Also:
  Constant Field Values

### START_PREVIOUS_ITEM

    public static final int START_PREVIOUS_ITEM

See Also:
  Constant Field Values

### START_NEXT_ITEM

    public static final int START_NEXT_ITEM

See Also:
  Constant Field Values

### END_ITEM

    public static final int END_ITEM

See Also:
  Constant Field Values

### END_ITEM_POSITION

    public static final int END_ITEM_POSITION

See Also:
  Constant Field Values

### END_PREVIOUS_ITEM

    public static final int END_PREVIOUS_ITEM

See Also:
  Constant Field Values

### END_NEXT_ITEM

    public static final int END_NEXT_ITEM

See Also:
  Constant Field Values

Constructor Detail

### WindowClause

    public WindowClause()

Method Detail

### getClauseKey

    public int getClauseKey()

  Description copied from class: `Clause`
  Get a keyword identifying what kind of clause this is

  Specified by:
    `getClauseKey` in class `Clause`
  Returns:
    the kind of clause

### setIsSlidingWindow

    public void setIsSlidingWindow(boolean sliding)

### isSlidingWindow

    public boolean isSlidingWindow()

### isTumblingWindow

    public boolean isTumblingWindow()

### setIncludeUnclosedWindows

    public void setIncludeUnclosedWindows(boolean include)

### isIncludeUnclosedWindows

    public boolean isIncludeUnclosedWindows()

### setSequence

    public void setSequence(Expression sequence)

### getSequence

    public Expression getSequence()

### setStartCondition

    public void setStartCondition(Expression startCondition)

### getStartCondition

    public Expression getStartCondition()

### setEndCondition

    public void setEndCondition(Expression endCondition)

### getEndCondition

    public Expression getEndCondition()

### setVariableBinding

    public void setVariableBinding(int role,
                                   LocalVariableBinding binding)
                            throws XPathException

  Throws:
    `XPathException`

### getVariableBinding

    public LocalVariableBinding getVariableBinding(int role)

### copy

    public Clause copy()

  Specified by:
    `copy` in class `Clause`

### getPullStream

    public TuplePull getPullStream(TuplePull base,
                                   XPathContext context)

  Get a pull-mode tuple stream that implements the functionality of this clause, taking its input from another tuple stream which this clause modifies

  Specified by:
    `getPullStream` in class `Clause`
  Parameters:
    `base` - the input tuple stream
    `context` - the dynamic evaluation context
  Returns:
    the output tuple stream

### getPushStream

    public TuplePush getPushStream(TuplePush destination,
                                   XPathContext context)

  Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple stream

  Specified by:
    `getPushStream` in class `Clause`
  Parameters:
    `destination` - the output tuple stream
    `context` - the dynamic evaluation context
  Returns:
    the push tuple stream that implements the functionality of this clause of the FLWOR expression

### processSubExpressions

    public void processSubExpressions(ExpressionProcessor processor)
                               throws XPathException

  Process the subexpressions of this clause

  Specified by:
    `processSubExpressions` in class `Clause`
  Parameters:
    `processor` - the expression processor used to process the subexpressions
  Throws:
    `XPathException` - if any error is detected

### getRangeVariables

    public LocalVariableBinding[] getRangeVariables()

  Get the variables bound by this clause

  Overrides:
    `getRangeVariables` in class `Clause`
  Returns:
    the variable bindings

### explain

    public void explain(ExpressionPresenter out)

  Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination.

  Specified by:
    `explain` in class `Clause`
  Parameters:
    `out` - the expression presenter used to display the structure

### matchesStart

    protected boolean matchesStart(Item previous,
                                   Item current,
                                   Item next,
                                   int position,
                                   XPathContext context)
                            throws XPathException

  Determine whether the current item is the start of a new window

  Parameters:
    `previous` - the item before the current item (null if the current item is the first)
    `current` - the current item
    `next` - the item after the current item (null if the current item is the last)
    `position` - the position of the current item in the input sequence
    `context` - the dynamic evaluation context
  Returns:
    true if the current item forms the start of a new window
  Throws:
    `XPathException`

### matchesEnd

    protected boolean matchesEnd(WindowClause.Window window,
                                 Item previous,
                                 Item current,
                                 Item next,
                                 int position,
                                 XPathContext context)
                          throws XPathException

  Determine whether the current item is the last item in a window

  Parameters:
    `window` - the window in question
    `previous` - the item before the current item (null if the current item is the first)
    `current` - the current item
    `next` - the item after the current item (null if the current item is the last)
    `position` - the position of the current item in the input sequence
    `context` - the dynamic evaluation context
  Returns:
    true if the current item is the last item in the specified window
  Throws:
    `XPathException`

### makeValue

    protected static ValueRepresentation makeValue(Item item)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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