Package net.sf.saxon.expr.flwor
Class WhereClause
java.lang.Object
net.sf.saxon.expr.flwor.Clause
net.sf.saxon.expr.flwor.WhereClause
A "where" clause in a FLWOR expression
-
Field Summary
Fields inherited from class net.sf.saxon.expr.flwor.Clause
COUNT, FOR, GROUPBYCLAUSE, LET, ORDERBYCLAUSE, TRACE, WHERE, WINDOW
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Create a copy of this clausevoid
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 clauseint
Get a keyword identifying what kind of clause this isgetPullStream
(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 modifiesgetPushStream
(TuplePush destination, XPathContext context) Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple streamvoid
processSubExpressions
(ExpressionProcessor processor) Process the subexpressions of this clausevoid
refineVariableType
(ExpressionVisitor visitor, List<VariableReference> references, Expression returnExpr) Supply improved type information to the expressions that contain references to the variables declared in this clausevoid
setPredicate
(Expression predicate) toString()
void
typeCheck
(ExpressionVisitor visitor) Type-check the expressionMethods inherited from class net.sf.saxon.expr.flwor.Clause
containsNonInlineableVariableReference, getLocationId, getRangeVariables, optimize, setLocationId
-
Constructor Details
-
WhereClause
-
-
Method Details
-
getClauseKey
public int getClauseKey()Description copied from class:Clause
Get a keyword identifying what kind of clause this is- Specified by:
getClauseKey
in classClause
- Returns:
- the kind of clause
-
getPredicate
-
setPredicate
-
copy
Description copied from class:Clause
Create a copy of this clause -
typeCheck
Type-check the expression- Overrides:
typeCheck
in classClause
- Parameters:
visitor
- the ExpressionVisitor, providing access to static context information- Throws:
XPathException
- if any error is detected
-
getPullStream
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 classClause
- Parameters:
base
- the input tuple streamcontext
- 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 classClause
- Parameters:
visitor
- the expression visitorbinding
- a variable declared in this clausereferences
- 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 classClause
- Parameters:
visitor
- the expression visitorreferences
- the list of variable referencesreturnExpr
- the expression in the return clause
-
getPushStream
Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple stream- Specified by:
getPushStream
in classClause
- Parameters:
destination
- the output tuple streamcontext
- the dynamic evaluation context- Returns:
- the push tuple stream that implements the functionality of this clause of the FLWOR expression
-
processSubExpressions
Process the subexpressions of this clause- Specified by:
processSubExpressions
in classClause
- Parameters:
processor
- the expression processor used to process the subexpressions- Throws:
XPathException
- if any error is detected
-
getBaseExpression
-
explain
Diagnostic print of expression structure. The abstract expression tree is written to the supplied output destination. -
toString
-