Class ArrayBindingSet

java.lang.Object
org.eclipse.rdf4j.query.AbstractBindingSet
org.eclipse.rdf4j.query.algebra.evaluation.ArrayBindingSet
All Implemented Interfaces:
Serializable, Iterable<Binding>, BindingSet, MutableBindingSet

@InternalUseOnly public class ArrayBindingSet extends AbstractBindingSet implements MutableBindingSet
An array implementation of the BindingSet interface.
Author:
Jerven Bolleman
See Also:
  • Constructor Details

    • ArrayBindingSet

      public ArrayBindingSet(String... names)
      Creates a new Array-based BindingSet for the supplied bindings names. The supplied list of binding names is assumed to be constant; care should be taken that the contents of this array doesn't change after supplying it to this solution.
      Parameters:
      names - The binding names.
    • ArrayBindingSet

      public ArrayBindingSet(BindingSet toCopy, LinkedHashSet<String> names, String[] namesArray)
    • ArrayBindingSet

      public ArrayBindingSet(ArrayBindingSet toCopy, String... names)
  • Method Details

    • getDirectSetBinding

      public BiConsumer<Value,ArrayBindingSet> getDirectSetBinding(String bindingName)
      This is used to generate a direct setter into the array to put a binding value into. Can be used to avoid many comparisons to the bindingNames.
      Parameters:
      bindingName - for which you want the setter
      Returns:
      the setter biconsumer which can operate on any ArrayBindingSet but should only be used on ones with an identical bindingNames array. Otherwise returns null.
    • getDirectAddBinding

      public BiConsumer<Value,ArrayBindingSet> getDirectAddBinding(String bindingName)
    • getDirectGetBinding

      public Function<ArrayBindingSet,Binding> getDirectGetBinding(String variableName)
    • getDirectGetValue

      public Function<ArrayBindingSet,Value> getDirectGetValue(String variableName)
    • getDirectHasBinding

      public Function<ArrayBindingSet,Boolean> getDirectHasBinding(String bindingName)
    • 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.
    • 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.
    • 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.
    • 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>
    • 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.
    • getSortedBindingNames

      public List<String> getSortedBindingNames()
    • 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(Binding binding)
      Specified by:
      setBinding in interface MutableBindingSet
    • setBinding

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

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