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, setSubjectVar
getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getTotalTimeNanosActual, isGraphPatternGroup, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, setCostEstimate, setGraphPatternGroup, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, toString
finalize, getClass, notify, notifyAll, wait, wait, wait
evaluate
clone, getAssuredBindingNames, getBindingNames
equals, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceChildNode, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString
protected 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
AbstractQueryModelNode
QueryModelNode.visitChildren(org.eclipse.rdf4j.query.algebra.QueryModelVisitor<X>)
that does nothing. Subclasses should override this
method when they have child nodes.visitChildren
in interface QueryModelNode
visitChildren
in class StatementPattern
X extends Exception
public <X extends Exception> void visit(QueryModelVisitor<X> visitor) throws X extends Exception
QueryModelNode
visit
in interface QueryModelNode
visit
in class StatementPattern
X extends Exception
protected void initFreeVars()
public int getFreeVarCount()
getFreeVarCount
in interface FedXTupleExpr
public List<String> getFreeVars()
getFreeVars
in interface FilterTuple
getFreeVars
in interface VariableExpr
public QueryInfo getQueryInfo()
QueryRef
getQueryInfo
in interface QueryRef
QueryInfo
public String getId()
getId
in interface StatementTupleExpr
public boolean hasFreeVarsFor(BindingSet bindings)
StatementTupleExpr
hasFreeVarsFor
in interface StatementTupleExpr
public List<StatementSource> getStatementSources()
getStatementSources
in interface StatementTupleExpr
public int getSourceCount()
public FilterValueExpr getFilterExpr()
getFilterExpr
in interface FilterTuple
FilterExpr
or
ConjunctiveFilterExpr
public BindingSet getBoundFilters()
FilterTuple
getBoundFilters
in interface FilterTuple
null
public boolean hasFilter()
hasFilter
in interface FilterTuple
public void addFilterExpr(FilterExpr expr)
FilterTuple
ConjunctiveFilterExpr
.addFilterExpr
in interface FilterTuple
public void addBoundFilter(String varName, Value value)
FilterTuple
addBoundFilter
in interface FilterTuple
public void setUpperLimit(long upperLimit)
upperLimit
- the upper limit, a negative number means unlimitedpublic long getUpperLimit()
Copyright © 2015-2020 Eclipse Foundation. All Rights Reserved.