Class SimpleBindingSet

java.lang.Object
org.eclipse.rdf4j.sail.shacl.ast.planNodes.SimpleBindingSet
All Implemented Interfaces:
Serializable, Iterable<Binding>, BindingSet

public class SimpleBindingSet extends Object implements BindingSet
A simple binding set tuned for the use case that the ShaclSail has.
See Also:
  • Constructor Details

  • Method Details

    • 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.
    • 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 other)
      Description copied from interface: BindingSet
      Compares a BindingSet object to another object.
      Specified by:
      equals in interface BindingSet
      Overrides:
      equals in class Object
      Parameters:
      other - 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.
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface BindingSet