Interface BindingSet

All Superinterfaces:
Iterable<Binding>, Serializable
All Known Subinterfaces:
MutableBindingSet
All Known Implementing Classes:
AbstractBindingSet, ArrayBindingSet, EmptyBindingSet, ListBindingSet, MapBindingSet, QueryBindingSet, SPARQLQueryBindingSet

public interface BindingSet extends Iterable<Binding>, Serializable
A BindingSet is a set of named value bindings, which is used a.o. to represent a single query solution. Values are indexed by name of the binding which typically corresponds to the names of the variables used in the projection of the orginal query.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    equals​(Object o)
    Compares a BindingSet object to another object.
    getBinding​(String bindingName)
    Gets the binding with the specified name from this BindingSet.
    Gets the names of the bindings in this BindingSet.
    getValue​(String bindingName)
    Gets the value of the binding with the specified name from this BindingSet.
    boolean
    hasBinding​(String bindingName)
    Checks whether this BindingSet has a binding with the specified name.
    int
    The hash code of a binding is defined as the bit-wise XOR of the hash codes of its bindings:
    default boolean
     
    Creates an iterator over the bindings in this BindingSet.
    int
    Returns the number of bindings in this BindingSet.

    Methods inherited from interface java.lang.Iterable

    forEach, spliterator
  • Method Details

    • iterator

      Iterator<Binding> iterator()
      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 Iterable<Binding>
    • getBindingNames

      Set<String> getBindingNames()
      Gets the names of the bindings in this BindingSet.
      Returns:
      A set of binding names.
    • getBinding

      Binding getBinding(String bindingName)
      Gets the binding with the specified name from this 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

      boolean hasBinding(String bindingName)
      Checks whether this BindingSet has a binding with the specified name.
      Parameters:
      bindingName - The name of the binding.
      Returns:
      true if this BindingSet has a binding with the specified name, false otherwise.
    • getValue

      Value getValue(String bindingName)
      Gets the value of the binding with the specified name from this 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

      int size()
      Returns the number of bindings in this BindingSet.
      Returns:
      The number of bindings in this BindingSet.
    • equals

      boolean equals(Object o)
      Compares a BindingSet object to another object.
      Overrides:
      equals in class Object
      Parameters:
      o - 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.
    • hashCode

      int hashCode()
      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.
      Overrides:
      hashCode in class Object
      Returns:
      A hash code for the BindingSet.
    • isEmpty

      default boolean isEmpty()