public class WhereClause extends Clause
COUNT, FOR, GROUPBYCLAUSE, LET, ORDERBYCLAUSE, TRACE, WHERE, WINDOW| Constructor and Description |
|---|
WhereClause(Expression predicate) |
| Modifier and Type | Method and Description |
|---|---|
WhereClause |
copy()
Create a copy of this clause
|
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
|
containsNonInlineableVariableReference, getLocationId, getRangeVariables, optimize, setLocationIdpublic WhereClause(Expression predicate)
public int getClauseKey()
ClausegetClauseKey in class Clausepublic Expression getPredicate()
public void setPredicate(Expression predicate)
public WhereClause copy()
Clausepublic void typeCheck(ExpressionVisitor visitor) throws XPathException
typeCheck in class Clausevisitor - the ExpressionVisitor, providing access to static context informationXPathException - if any error is detectedpublic TuplePull getPullStream(TuplePull base, XPathContext context)
getPullStream in class Clausebase - the input tuple streamcontext - the dynamic evaluation contextpublic void gatherVariableReferences(ExpressionVisitor visitor, Binding binding, List<VariableReference> references)
ClausegatherVariableReferences in class Clausevisitor - the expression visitorbinding - a variable declared in this clausereferences - the list of variable references, initially empty, to which the method will appendpublic void refineVariableType(ExpressionVisitor visitor, List<VariableReference> references, Expression returnExpr)
ClauserefineVariableType in class Clausevisitor - the expression visitorreferences - the list of variable referencesreturnExpr - the expression in the return clausepublic TuplePush getPushStream(TuplePush destination, XPathContext context)
getPushStream in class Clausedestination - the output tuple streamcontext - the dynamic evaluation contextpublic void processSubExpressions(ExpressionProcessor processor) throws XPathException
processSubExpressions in class Clauseprocessor - the expression processor used to process the subexpressionsXPathException - if any error is detectedpublic Expression getBaseExpression()
public void explain(ExpressionPresenter out)
Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.