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 theBindingSet
interface.- Author:
- Jerven Bolleman
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description ArrayBindingSet(String... names)
Creates a new Array-based BindingSet for the supplied bindings names.ArrayBindingSet(ArrayBindingSet toCopy, String... names)
ArrayBindingSet(BindingSet toCopy, Set<String> names, String[] namesArray)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addBinding(Binding binding)
Adds a binding to the binding set.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.BiConsumer<Value,ArrayBindingSet>
getDirectAddBinding(String bindingName)
Function<ArrayBindingSet,Binding>
getDirectGetBinding(String bindingName)
Function<ArrayBindingSet,Value>
getDirectGetValue(String bindingName)
Function<ArrayBindingSet,Boolean>
getDirectHasBinding(String bindingName)
BiConsumer<Value,ArrayBindingSet>
getDirectSetBinding(String bindingName)
This is used to generate a direct setter into the array to put a binding value into.List<String>
getSortedBindingNames()
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.boolean
isEmpty()
Iterator<Binding>
iterator()
Creates an iterator over the bindings in this BindingSet.void
setBinding(String name, Value value)
void
setBinding(Binding binding)
int
size()
Returns the number of bindings in this BindingSet.-
Methods inherited from class org.eclipse.rdf4j.query.AbstractBindingSet
equals, hashCode, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.rdf4j.query.BindingSet
equals, hashCode
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface org.eclipse.rdf4j.query.MutableBindingSet
addBinding
-
-
-
-
Constructor Detail
-
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, Set<String> names, String[] namesArray)
-
ArrayBindingSet
public ArrayBindingSet(ArrayBindingSet toCopy, String... names)
-
-
Method Detail
-
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 bindingName)
-
getDirectGetValue
public Function<ArrayBindingSet,Value> getDirectGetValue(String bindingName)
-
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 interfaceBindingSet
- 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 interfaceBindingSet
- 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 interfaceBindingSet
- 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 interfaceBindingSet
- 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 interfaceBindingSet
- Specified by:
iterator
in interfaceIterable<Binding>
-
size
public int size()
Description copied from interface:BindingSet
Returns the number of bindings in this BindingSet.- Specified by:
size
in interfaceBindingSet
- Returns:
- The number of bindings in this BindingSet.
-
addBinding
public void addBinding(Binding binding)
Description copied from interface:MutableBindingSet
Adds a binding to the binding set.- Specified by:
addBinding
in interfaceMutableBindingSet
- Parameters:
binding
- The binding to add to the binding set.
-
setBinding
public void setBinding(Binding binding)
- Specified by:
setBinding
in interfaceMutableBindingSet
-
setBinding
public void setBinding(String name, Value value)
- Specified by:
setBinding
in interfaceMutableBindingSet
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfaceBindingSet
-
-