public abstract class FedXStatementPattern extends StatementPattern implements StatementTupleExpr, FilterTuple, BoundJoinTupleExpr
StatementSourcePattern,
ExclusiveStatement,
Serialized FormStatementPattern.Scope| Modifier and Type | Field and Description |
|---|---|
protected QueryBindingSet |
boundFilters |
protected FilterValueExpr |
filterExpr |
protected List<String> |
freeVars |
protected String |
id |
protected QueryInfo |
queryInfo |
protected List<StatementSource> |
statementSources |
protected long |
upperLimit |
| Constructor and Description |
|---|
FedXStatementPattern(StatementPattern node,
QueryInfo queryInfo) |
| Modifier and Type | Method and Description |
|---|---|
void |
addBoundFilter(String varName,
Value value)
register a filter that can be directly expressed as a binding, e.g.
|
void |
addFilterExpr(FilterExpr expr)
register a new filter expression.
|
BindingSet |
getBoundFilters()
Returns bound filter bindings, that need to be added as additional bindings to the final result
|
FilterValueExpr |
getFilterExpr() |
int |
getFreeVarCount() |
List<String> |
getFreeVars() |
String |
getId() |
QueryInfo |
getQueryInfo()
Retrieve the attached query information of the tuple expression
|
int |
getSourceCount() |
List<StatementSource> |
getStatementSources() |
long |
getUpperLimit() |
boolean |
hasFilter() |
boolean |
hasFreeVarsFor(BindingSet bindings)
returns true iff this statement has free variables in the presence of the specified binding set
|
protected void |
initFreeVars() |
void |
setUpperLimit(long upperLimit)
Set the upper limit for this statement expression (i.e.
|
<X extends Exception> |
visit(QueryModelVisitor<X> visitor)
Visits this node.
|
<X extends Exception> |
visitChildren(QueryModelVisitor<X> visitor)
Dummy implementation of
QueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>) that does nothing. |
clone, equals, getAssuredBindingNames, getBindingNames, getContextVar, getObjectVar, getPredicateVar, getScope, getSignature, getSubjectVar, getVarList, getVars, hashCode, replaceChildNode, setContextVar, setObjectVar, setPredicateVar, setScope, setSubjectVargetCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getTotalTimeNanosActual, isGraphPatternGroup, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, toStringfinalize, getClass, notify, notifyAll, wait, wait, waitevaluateclone, getAssuredBindingNames, getBindingNamesequals, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceChildNode, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toStringprotected final List<StatementSource> statementSources
protected final String id
protected final QueryInfo queryInfo
protected FilterValueExpr filterExpr
protected QueryBindingSet boundFilters
protected long upperLimit
public FedXStatementPattern(StatementPattern node, QueryInfo queryInfo)
public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends Exception
AbstractQueryModelNodeQueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>) that does nothing. Subclasses should override this
method when they have child nodes.visitChildren in interface QueryModelNodevisitChildren in class StatementPatternX extends Exceptionpublic <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X extends Exception
QueryModelNodevisit in interface QueryModelNodevisit in class StatementPatternX extends Exceptionprotected void initFreeVars()
public int getFreeVarCount()
getFreeVarCount in interface FedXTupleExprpublic List<String> getFreeVars()
getFreeVars in interface FilterTuplegetFreeVars in interface VariableExprpublic QueryInfo getQueryInfo()
QueryRefgetQueryInfo in interface QueryRefQueryInfopublic String getId()
getId in interface StatementTupleExprpublic boolean hasFreeVarsFor(BindingSet bindings)
StatementTupleExprhasFreeVarsFor in interface StatementTupleExprpublic List<StatementSource> getStatementSources()
getStatementSources in interface StatementTupleExprpublic int getSourceCount()
public FilterValueExpr getFilterExpr()
getFilterExpr in interface FilterTupleFilterExpr or
ConjunctiveFilterExprpublic BindingSet getBoundFilters()
FilterTuplegetBoundFilters in interface FilterTuplenullpublic boolean hasFilter()
hasFilter in interface FilterTuplepublic void addFilterExpr(FilterExpr expr)
FilterTupleConjunctiveFilterExpr.addFilterExpr in interface FilterTuplepublic void addBoundFilter(String varName, Value value)
FilterTupleaddBoundFilter in interface FilterTuplepublic void setUpperLimit(long upperLimit)
upperLimit - the upper limit, a negative number means unlimitedpublic long getUpperLimit()
Copyright © 2015-2022 Eclipse Foundation. All Rights Reserved.