Interface BindingSet

All Superinterfaces:
Iterable<Binding>, Serializable
All Known Subinterfaces:
MutableBindingSet
All Known Implementing Classes:
AbstractBindingSet, ArrayBindingSet, EmptyBindingSet, FedXPathIteration.ValuePair, ListBindingSet, MapBindingSet, PathIteration.ValuePair, QueryBindingSet, SimpleBindingSet, SingletonBindingSet, 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
    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()