Package 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, TRACE, WHERE, WINDOW
-
-
Constructor Summary
Constructors Constructor Description WhereClause(Expression predicate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description WhereClausecopy()Create a copy of this clausevoidexplain(ExpressionPresenter out)Diagnostic print of expression structure.voidgatherVariableReferences(ExpressionVisitor visitor, Binding binding, java.util.List<VariableReference> references)Build a list of all references to a variables declared in this clauseExpressiongetBaseExpression()intgetClauseKey()Get a keyword identifying what kind of clause this isExpressiongetPredicate()TuplePullgetPullStream(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 modifiesTuplePushgetPushStream(TuplePush destination, XPathContext context)Get a push-mode tuple stream that implements the functionality of this clause, supplying its output to another tuple streamvoidprocessSubExpressions(ExpressionProcessor processor)Process the subexpressions of this clausevoidrefineVariableType(ExpressionVisitor visitor, java.util.List<VariableReference> references, Expression returnExpr)Supply improved type information to the expressions that contain references to the variables declared in this clausevoidsetPredicate(Expression predicate)java.lang.StringtoString()voidtypeCheck(ExpressionVisitor visitor)Type-check the expression-
Methods inherited from class net.sf.saxon.expr.flwor.Clause
containsNonInlineableVariableReference, getLocationId, getRangeVariables, optimize, setLocationId
-
-
-
-
Constructor Detail
-
WhereClause
public WhereClause(Expression predicate)
-
-
Method Detail
-
getClauseKey
public int getClauseKey()
Description copied from class:ClauseGet a keyword identifying what kind of clause this is- Specified by:
getClauseKeyin classClause- Returns:
- the kind of clause
-
getPredicate
public Expression getPredicate()
-
setPredicate
public void setPredicate(Expression predicate)
-
copy
public WhereClause copy()
Description copied from class:ClauseCreate a copy of this clause
-
typeCheck
public void typeCheck(ExpressionVisitor visitor) throws XPathException
Type-check the expression- Overrides:
typeCheckin classClause- 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:
getPullStreamin classClause- Parameters:
base- the input tuple streamcontext- the dynamic evaluation context- Returns:
- the output tuple stream
-
gatherVariableReferences
public void gatherVariableReferences(ExpressionVisitor visitor, Binding binding, java.util.List<VariableReference> references)
Description copied from class:ClauseBuild a list of all references to a variables declared in this clause- Overrides:
gatherVariableReferencesin 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, java.util.List<VariableReference> references, Expression returnExpr)
Description copied from class:ClauseSupply improved type information to the expressions that contain references to the variables declared in this clause- Overrides:
refineVariableTypein classClause- Parameters:
visitor- the expression visitorreferences- the list of variable referencesreturnExpr- 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:
getPushStreamin 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
public void processSubExpressions(ExpressionProcessor processor) throws XPathException
Process the subexpressions of this clause- Specified by:
processSubExpressionsin classClause- 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.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-