Class BinaryValueOperator

java.lang.Object
org.eclipse.rdf4j.query.algebra.AbstractQueryModelNode
org.eclipse.rdf4j.query.algebra.BinaryValueOperator
All Implemented Interfaces:
Serializable, Cloneable, QueryModelNode, ValueExpr, VariableScopeChange
Direct Known Subclasses:
And, Compare, LangMatches, MathExpr, Or, Regex, SameTerm

public abstract class BinaryValueOperator extends AbstractQueryModelNode implements ValueExpr
An abstract superclass for binary value operators which, by definition, has two arguments.
See Also:
  • Field Details

    • leftArg

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

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

    • BinaryValueOperator

      protected BinaryValueOperator()
    • BinaryValueOperator

      protected BinaryValueOperator(ValueExpr leftArg, ValueExpr rightArg)
      Creates a new binary value 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 ValueExpr getLeftArg()
      Gets the left argument of this binary value operator.
      Returns:
      The operator's left argument.
    • setLeftArg

      public void setLeftArg(ValueExpr leftArg)
      Sets the left argument of this binary value operator.
      Parameters:
      leftArg - The (new) left argument for this operator, must not be null.
    • getRightArg

      public ValueExpr getRightArg()
      Gets the right argument of this binary value operator.
      Returns:
      The operator's right argument.
    • setRightArg

      public void setRightArg(ValueExpr rightArg)
      Sets the right argument of this binary value 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 BinaryValueOperator 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 ValueExpr
      Overrides:
      clone in class AbstractQueryModelNode
      Returns:
      A deep clone of this query model node.