public class WhereClause extends Clause
COUNT, FOR, GROUPBYCLAUSE, LET, ORDERBYCLAUSE, TRACE, WHERE, WINDOW
Constructor and Description |
---|
WhereClause(FLWORExpression flwor,
Expression predicate) |
Modifier and Type | Method and Description |
---|---|
void |
addToPathMap(PathMap pathMap,
PathMap.PathMapNodeSet pathMapNodeSet)
Collect information about the navigation paths followed by this clause, for document projection purposes
|
WhereClause |
copy(FLWORExpression flwor,
RebindingMap rebindings)
Create a copy of this clause
|
void |
explain(ExpressionPresenter out)
Diagnostic print of expression structure.
|
void |
gatherVariableReferences(ExpressionVisitor visitor,
Binding binding,
java.util.List<VariableReference> references)
Build a list of all references to a variables declared in this clause
|
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 |
processOperands(OperandProcessor processor)
Process the subexpressions of this clause
|
void |
refineVariableType(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 clause
|
void |
setPredicate(Expression predicate) |
void |
setRepeated(boolean repeated) |
java.lang.String |
toShortString()
Get a short string representation of the clause
|
java.lang.String |
toString() |
void |
typeCheck(ExpressionVisitor visitor,
ContextItemStaticInfo contextInfo)
Type-check the expression
|
containsNonInlineableVariableReference, getConfiguration, getLocation, getPackageData, getRangeVariables, isRepeated, optimize, setLocation, setPackageData
public WhereClause(FLWORExpression flwor, Expression predicate)
public void setRepeated(boolean repeated)
setRepeated
in class Clause
public int getClauseKey()
Clause
getClauseKey
in class Clause
public Expression getPredicate()
public void setPredicate(Expression predicate)
public WhereClause copy(FLWORExpression flwor, RebindingMap rebindings)
Clause
public void typeCheck(ExpressionVisitor visitor, ContextItemStaticInfo contextInfo) throws XPathException
typeCheck
in class Clause
visitor
- the ExpressionVisitor, providing access to static context informationcontextInfo
- static information about the dynamic contextXPathException
- if any error is detectedpublic TuplePull getPullStream(TuplePull base, XPathContext context)
getPullStream
in class Clause
base
- the input tuple streamcontext
- the dynamic evaluation contextpublic void gatherVariableReferences(ExpressionVisitor visitor, Binding binding, java.util.List<VariableReference> references)
Clause
gatherVariableReferences
in class Clause
visitor
- 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, java.util.List<VariableReference> references, Expression returnExpr)
Clause
refineVariableType
in class Clause
visitor
- the expression visitorreferences
- the list of variable referencesreturnExpr
- the expression in the return clausepublic TuplePush getPushStream(TuplePush destination, XPathContext context)
getPushStream
in class Clause
destination
- the output tuple streamcontext
- the dynamic evaluation contextpublic void processOperands(OperandProcessor processor) throws XPathException
processOperands
in class Clause
processor
- the expression processor used to process the subexpressionsXPathException
- if any error is detectedpublic void addToPathMap(PathMap pathMap, PathMap.PathMapNodeSet pathMapNodeSet)
Clause
addToPathMap
in class Clause
pathMap
- the path map in which the data is to be collectedpathMapNodeSet
- the path map node set representing the paths to the context itempublic void explain(ExpressionPresenter out) throws XPathException
explain
in class Clause
out
- the expression presenter used to display the structureXPathException
public java.lang.String toShortString()
Clause
toShortString
in class Clause
public java.lang.String toString()
toString
in class java.lang.Object
Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.