Package org.eclipse.rdf4j.query.algebra
Class BinaryTupleOperator
- java.lang.Object
-
- org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
-
- org.eclipse.rdf4j.query.algebra.BinaryTupleOperator
-
- All Implemented Interfaces:
Serializable
,Cloneable
,QueryModelNode
,TupleExpr
,VariableScopeChange
- Direct Known Subclasses:
Difference
,Intersection
,Join
,LeftJoin
,Union
public abstract class BinaryTupleOperator extends AbstractQueryModelNode implements TupleExpr
An abstract superclass for binary tuple operators which, by definition, has two arguments.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
BinaryTupleOperator()
protected
BinaryTupleOperator(TupleExpr leftArg, TupleExpr rightArg)
Creates a new binary tuple operator.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BinaryTupleOperator
clone()
Returns a (deep) clone of this query model node.boolean
equals(Object other)
Returns true if this query model node and its children are recursively equal to o and its children.String
getAlgorithmName()
TupleExpr
getLeftArg()
Gets the left argument of this binary tuple operator.Var
getOrder()
TupleExpr
getRightArg()
Gets the right argument of this binary tuple operator.Set<Var>
getSupportedOrders(AvailableStatementOrder tripleSource)
int
hashCode()
void
replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Replaces one of the child nodes with a new node.void
setAlgorithm(String classSimpleName)
void
setAlgorithm(CloseableIteration<?> iteration)
void
setLeftArg(TupleExpr leftArg)
Sets the left argument of this binary tuple operator.void
setOrder(Var var)
void
setRightArg(TupleExpr rightArg)
Sets the right argument of this binary tuple operator.<X extends Exception>
voidvisitChildren(QueryModelVisitor<X> visitor)
Visits the children of this node.-
Methods inherited from class org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
getCardinality, getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, isCardinalitySet, isVariableScopeChange, nullEquals, replaceNodeInList, replaceWith, resetCardinality, setCardinality, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, setVariableScopeChange, shouldCacheCardinality, toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.query.algebra.QueryModelNode
getCostEstimate, getParentNode, getResultSizeActual, getResultSizeEstimate, getSignature, getTotalTimeNanosActual, replaceWith, setCostEstimate, setParentNode, setResultSizeActual, setResultSizeEstimate, setTotalTimeNanosActual, toString, visit
-
Methods inherited from interface org.eclipse.rdf4j.query.algebra.TupleExpr
getAssuredBindingNames, getBindingNames
-
-
-
-
Method Detail
-
getLeftArg
public TupleExpr getLeftArg()
Gets the left argument of this binary tuple operator.- Returns:
- The operator's left argument.
-
setLeftArg
public void setLeftArg(TupleExpr leftArg)
Sets the left argument of this binary tuple operator.- Parameters:
leftArg
- The (new) left argument for this operator, must not be null.
-
getRightArg
public TupleExpr getRightArg()
Gets the right argument of this binary tuple operator.- Returns:
- The operator's right argument.
-
setRightArg
public void setRightArg(TupleExpr rightArg)
Sets the right argument of this binary tuple operator.- Parameters:
rightArg
- The (new) right argument for this operator, must not be null.
-
visitChildren
public <X extends Exception> void visitChildren(QueryModelVisitor<X> visitor) throws X extends Exception
Description copied from interface:QueryModelNode
Visits the children of this node. The node callsQueryModelNode.visit(QueryModelVisitor)
on all of its child nodes.- Specified by:
visitChildren
in interfaceQueryModelNode
- Throws:
X extends Exception
-
replaceChildNode
public void replaceChildNode(QueryModelNode current, QueryModelNode replacement)
Description copied from interface:QueryModelNode
Replaces one of the child nodes with a new node.- Specified by:
replaceChildNode
in interfaceQueryModelNode
- Parameters:
current
- The current child node.replacement
- The new child node.
-
equals
public boolean equals(Object other)
Description copied from interface:QueryModelNode
Returns true if this query model node and its children are recursively equal to o and its children.- Specified by:
equals
in interfaceQueryModelNode
- Overrides:
equals
in classObject
-
clone
public BinaryTupleOperator clone()
Description copied from interface:QueryModelNode
Returns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.- Specified by:
clone
in interfaceQueryModelNode
- Specified by:
clone
in interfaceTupleExpr
- Overrides:
clone
in classAbstractQueryModelNode
- Returns:
- A deep clone of this query model node.
-
setAlgorithm
@Experimental public void setAlgorithm(CloseableIteration<?> iteration)
-
setAlgorithm
@Experimental public void setAlgorithm(String classSimpleName)
-
getAlgorithmName
@Experimental public String getAlgorithmName()
-
getSupportedOrders
public Set<Var> getSupportedOrders(AvailableStatementOrder tripleSource)
- Specified by:
getSupportedOrders
in interfaceTupleExpr
-
-