Class PathIteration.ValuePair

java.lang.Object
org.eclipse.rdf4j.query.algebra.evaluation.iterator.PathIteration.ValuePair
All Implemented Interfaces:
Serializable, Iterable<Binding>, BindingSet, MutableBindingSet
Enclosing class:
PathIteration

public static class PathIteration.ValuePair extends Object implements MutableBindingSet
A specialized BingingSet that can only hold the start and end values of a Path. Minimizing unneeded memory use, and allows specialization in the sets required to answer this part of a query.
See Also:
  • Constructor Details

    • ValuePair

      public ValuePair()
    • ValuePair

      public ValuePair(Value startValue, Value endValue)
  • Method Details

    • getStartValue

      public Value getStartValue()
      Returns:
      Returns the startValue.
    • getEndValue

      public Value getEndValue()
      Returns:
      Returns the endValue.
    • hashCode

      public int hashCode()
      Description copied from interface: BindingSet
      The hash code of a binding is defined as the bit-wise XOR of the hash codes of its bindings:
       int hashCode = 0;
      
       for (Binding binding : this) {
              hashCode ˆ= binding.getName().hashCode() ˆ binding.getValue().hashCode();
       }
       

      Note: the calculated hash code intentionally does not depend on the order in which the bindings are iterated over.

      Specified by:
      hashCode in interface BindingSet
      Overrides:
      hashCode in class Object
      Returns:
      A hash code for the BindingSet.
    • equals

      public boolean equals(Object obj)
      Description copied from interface: BindingSet
      Compares a BindingSet object to another object.
      Specified by:
      equals in interface BindingSet
      Overrides:
      equals in class Object
      Parameters:
      obj - The object to compare this binding to.
      Returns:
      true if the other object is an instance of BindingSet and it contains the same set of bindings (disregarding order), false otherwise.
    • iterator

      public Iterator<Binding> iterator()
      Description copied from interface: BindingSet
      Creates an iterator over the bindings in this BindingSet. This only returns bindings with non-null values. An implementation is free to return the bindings in arbitrary order.
      Specified by:
      iterator in interface BindingSet
      Specified by:
      iterator in interface Iterable<Binding>
    • getBindingNames

      public Set<String> getBindingNames()
      Description copied from interface: BindingSet
      Gets the names of the bindings in this BindingSet.
      Specified by:
      getBindingNames in interface BindingSet
      Returns:
      A set of binding names.
    • getBinding

      public Binding getBinding(String bindingName)
      Description copied from interface: BindingSet
      Gets the binding with the specified name from this BindingSet.
      Specified by:
      getBinding in interface BindingSet
      Parameters:
      bindingName - The name of the binding.
      Returns:
      The binding with the specified name, or null if there is no such binding in this BindingSet.
    • hasBinding

      public boolean hasBinding(String bindingName)
      Description copied from interface: BindingSet
      Checks whether this BindingSet has a binding with the specified name.
      Specified by:
      hasBinding in interface BindingSet
      Parameters:
      bindingName - The name of the binding.
      Returns:
      true if this BindingSet has a binding with the specified name, false otherwise.
    • getValue

      public Value getValue(String bindingName)
      Description copied from interface: BindingSet
      Gets the value of the binding with the specified name from this BindingSet.
      Specified by:
      getValue in interface BindingSet
      Parameters:
      bindingName - The name of the binding.
      Returns:
      The value of the binding with the specified name, or null if there is no such binding in this BindingSet.
    • size

      public int size()
      Description copied from interface: BindingSet
      Returns the number of bindings in this BindingSet.
      Specified by:
      size in interface BindingSet
      Returns:
      The number of bindings in this BindingSet.
    • addBinding

      public void addBinding(Binding binding)
      Description copied from interface: MutableBindingSet
      Adds a binding to the binding set.
      Specified by:
      addBinding in interface MutableBindingSet
      Parameters:
      binding - The binding to add to the binding set.
    • setBinding

      public void setBinding(String name, Value value)
      Specified by:
      setBinding in interface MutableBindingSet
    • setBinding

      public void setBinding(Binding binding)
      Specified by:
      setBinding in interface MutableBindingSet