Class SimpleBindingSet
- java.lang.Object
-
- org.eclipse.rdf4j.sail.shacl.ast.planNodes.SimpleBindingSet
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Iterable<Binding>,BindingSet
public class SimpleBindingSet extends java.lang.Object implements BindingSet
A simple binding set tuned for the use case that the ShaclSail has.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Set<java.lang.String>bindingNamesSetprivate Binding[]bindingsprivate intcachedHashCodeprivate static longserialVersionUID
-
Constructor Summary
Constructors Constructor Description SimpleBindingSet(java.util.Set<java.lang.String> bindingNamesSet, java.util.List<java.lang.String> varNamesList, java.util.List<Value> values)SimpleBindingSet(java.util.Set<java.lang.String> bindingNamesSet, Binding[] bindings)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object other)Compares a BindingSet object to another object.BindinggetBinding(java.lang.String bindingName)Gets the binding with the specified name from this BindingSet.java.util.Set<java.lang.String>getBindingNames()Gets the names of the bindings in this BindingSet.ValuegetValue(java.lang.String bindingName)Gets the value of the binding with the specified name from this BindingSet.booleanhasBinding(java.lang.String bindingName)Checks whether this BindingSet has a binding with the specified name.inthashCode()The hash code of a binding is defined as the bit-wise XOR of the hash codes of its bindings:booleanisEmpty()java.util.Iterator<Binding>iterator()Creates an iterator over the bindings in this BindingSet.intsize()Returns the number of bindings in this BindingSet.java.lang.StringtoString()
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
bindingNamesSet
private final java.util.Set<java.lang.String> bindingNamesSet
-
bindings
private final Binding[] bindings
-
cachedHashCode
private int cachedHashCode
-
-
Method Detail
-
iterator
public java.util.Iterator<Binding> iterator()
Description copied from interface:BindingSetCreates 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:
iteratorin interfaceBindingSet- Specified by:
iteratorin interfacejava.lang.Iterable<Binding>
-
getBindingNames
public java.util.Set<java.lang.String> getBindingNames()
Description copied from interface:BindingSetGets the names of the bindings in this BindingSet.- Specified by:
getBindingNamesin interfaceBindingSet- Returns:
- A set of binding names.
-
getBinding
public Binding getBinding(java.lang.String bindingName)
Description copied from interface:BindingSetGets the binding with the specified name from this BindingSet.- Specified by:
getBindingin 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(java.lang.String bindingName)
Description copied from interface:BindingSetChecks whether this BindingSet has a binding with the specified name.- Specified by:
hasBindingin interfaceBindingSet- Parameters:
bindingName- The name of the binding.- Returns:
- true if this BindingSet has a binding with the specified name, false otherwise.
-
getValue
public Value getValue(java.lang.String bindingName)
Description copied from interface:BindingSetGets the value of the binding with the specified name from this BindingSet.- Specified by:
getValuein 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.
-
size
public int size()
Description copied from interface:BindingSetReturns the number of bindings in this BindingSet.- Specified by:
sizein interfaceBindingSet- Returns:
- The number of bindings in this BindingSet.
-
hashCode
public int hashCode()
Description copied from interface:BindingSetThe 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.
- Specified by:
hashCodein interfaceBindingSet- Overrides:
hashCodein classjava.lang.Object- Returns:
- A hash code for the BindingSet.
-
equals
public boolean equals(java.lang.Object other)
Description copied from interface:BindingSetCompares a BindingSet object to another object.- Specified by:
equalsin interfaceBindingSet- Overrides:
equalsin classjava.lang.Object- Parameters:
other- The object to compare this binding to.- Returns:
- true if the other object is an instance of
BindingSetand it contains the same set of bindings (disregarding order), false otherwise.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceBindingSet
-
-