Class LimitedSizeIteratorUtil
java.lang.Object
org.eclipse.rdf4j.query.algebra.evaluation.limited.iterator.LimitedSizeIteratorUtil
- Author:
- Jerven Bolleman, SIB Swiss Institute of Bioinformatics
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <V> boolean
add
(V object, Collection<V> excludeSet, AtomicLong used, long maxSize) static Set<BindingSet>
addAll
(Iteration<? extends BindingSet, ? extends QueryEvaluationException> arg2, Set<BindingSet> includeSet, AtomicLong used, long maxSize)
-
Constructor Details
-
LimitedSizeIteratorUtil
public LimitedSizeIteratorUtil()
-
-
Method Details
-
addAll
public static Set<BindingSet> addAll(Iteration<? extends BindingSet, ? extends QueryEvaluationException> arg2, Set<BindingSet> includeSet, AtomicLong used, long maxSize) throws QueryEvaluationException- Parameters:
arg2
- the iteration with elements to add to the includeSetincludeSet
- the set that should have all unique elements of arg2used
- the collection size counter of all collections used in answering a querymaxSize
- the point at which we throw a new query exception- Returns:
- the includeSet
- Throws:
QueryEvaluationException
- trigerred when maxSize is smaller than the used value
-
add
public static <V> boolean add(V object, Collection<V> excludeSet, AtomicLong used, long maxSize) throws QueryEvaluationException - Parameters:
object
- object to put in set if not there already.excludeSet
- set that we need to store object in.used
- AtomicLong tracking how many elements we have in storage.maxSize
-- Throws:
QueryEvaluationException
- when the object is added to the set and the total elements in all limited size collections exceed the allowed maxSize.
-