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:
  • Field Details

    • leftArg

      protected TupleExpr leftArg
      The operator's left argument.
    • rightArg

      protected TupleExpr rightArg
      The operator's right argument.
  • Constructor Details

    • BinaryTupleOperator

      protected BinaryTupleOperator()
    • BinaryTupleOperator

      protected BinaryTupleOperator(TupleExpr leftArg, TupleExpr rightArg)
      Creates a new binary tuple operator.
      Parameters:
      leftArg - The operator's left argument, must not be null.
      rightArg - The operator's right argument, must not be null.
  • Method Details

    • 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
      Description copied from interface: QueryModelNode
      Visits the children of this node. The node calls QueryModelNode.visit(QueryModelVisitor) on all of its child nodes.
      Specified by:
      visitChildren in interface QueryModelNode
      Throws:
      X
    • 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 interface QueryModelNode
      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 interface QueryModelNode
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • 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 interface QueryModelNode
      Specified by:
      clone in interface TupleExpr
      Overrides:
      clone in class AbstractQueryModelNode
      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()