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

## net.sf.saxon.expr.flwor
Class WhereClause

    java.lang.Object
      net.sf.saxon.expr.flwor.Clause
          net.sf.saxon.expr.flwor.WhereClause

    public class WhereClause

extends Clause

A "where" clause in a FLWOR expression

Field Summary

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

Constructor Summary
`WhereClause(Expression predicate)`

Method Summary
`WhereClause` | `copy()`
`void` | `explain(ExpressionPresenter out)` Diagnostic print of expression structure.
`void` | `gatherVariableReferences(ExpressionVisitor visitor, Binding binding, List<VariableReference> references)` Build a list of all references to a variables declared in this clause
`Expression` | `getBaseExpression()`
`int` | `getClauseKey()` Get a keyword identifying what kind of clause this is
`Expression` | `getPredicate()`
`TuplePull` | `getPullStream(TuplePull base, XPathContext context)` Get a 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
`void` | `processSubExpressions(ExpressionProcessor processor)` Process the subexpressions of this clause
`void` | `refineVariableType(ExpressionVisitor visitor, List<VariableReference> references, Expression returnExpr)` Supply improved type information to the expressions that contain references to the variables declared in this clause
`void` | `setPredicate(Expression predicate)`
`String` | `toString()`
`void` | `typeCheck(ExpressionVisitor visitor)` Type-check the expression

Methods inherited from class net.sf.saxon.expr.flwor.Clause
`getRangeVariables, optimize`

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

Constructor Detail

### WhereClause

    public WhereClause(Expression predicate)

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

### getPredicate

    public Expression getPredicate()

### setPredicate

    public void setPredicate(Expression predicate)

### copy

    public WhereClause copy()

  Specified by:
    `copy` in class `Clause`

### typeCheck

    public void typeCheck(ExpressionVisitor visitor)
                   throws XPathException

  Type-check the expression

  Overrides:
    `typeCheck` in class `Clause`
  Parameters:
    `visitor` - the ExpressionVisitor, providing access to static context information
  Throws:
    `XPathException` - if any error is detected

### getPullStream

    public TuplePull getPullStream(TuplePull base,
                                   XPathContext context)

  Get a 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

### gatherVariableReferences

    public void gatherVariableReferences(ExpressionVisitor visitor,
                                         Binding binding,
                                         List<VariableReference> references)

  Description copied from class: `Clause`
  Build a list of all references to a variables declared in this clause

  Overrides:
    `gatherVariableReferences` in class `Clause`
  Parameters:
    `visitor` - the expression visitor
    `binding` - a variable declared in this clause
    `references` - the list of variable references, initially empty, to which the method will append

### refineVariableType

    public void refineVariableType(ExpressionVisitor visitor,
                                   List<VariableReference> references,
                                   Expression returnExpr)

  Description copied from class: `Clause`
  Supply improved type information to the expressions that contain references to the variables declared in this clause

  Overrides:
    `refineVariableType` in class `Clause`
  Parameters:
    `visitor` - the expression visitor
    `references` - the list of variable references
    `returnExpr` - the expression in the return clause

### 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

### getBaseExpression

    public Expression getBaseExpression()

### 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

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

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.