org.eclipse.rdf4j.query

## Interface BindingSet

- All Superinterfaces:
    Iterable<Binding>, Serializable
  All Known Implementing Classes:
    AbstractBindingSet, 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

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(Object o)` Compares a BindingSet object to another object.
    `Binding` | `getBinding(String bindingName)` Gets the binding with the specified name from this BindingSet.
    `Set<String>` | `getBindingNames()` Gets the names of the bindings in this BindingSet.
    `Value` | `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` | `hashCode()` The hash code of a binding is defined as the bit-wise XOR of the hash codes of its bindings:
    `Iterator<Binding>` | `iterator()` Creates an iterator over the bindings in this BindingSet.
    `int` | `size()` Returns the number of bindings in this BindingSet.

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Method Detail

    - #### 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.

Copyright © 2015-2022 Eclipse Foundation. All Rights Reserved.