Class MinusIteration<E>
java.lang.Object
org.eclipse.rdf4j.common.iteration.FilterIteration<E>
org.eclipse.rdf4j.common.iteration.MinusIteration<E>
- All Implemented Interfaces:
AutoCloseable
,Iterator<E>
,CloseableIteration<E>
An Iteration that returns the results of an Iteration (the left argument) minus the results of another Iteration (the
right argument). Optionally, the Iteration can be configured to filter duplicates from the returned elements.
Note that duplicates can also be filtered by wrapping this Iteration in a DistinctIteration
, but that has a
bit more overhead as it adds a second hash table lookup.
-
Constructor Summary
ConstructorDescriptionMinusIteration
(CloseableIteration<? extends E> leftArg, CloseableIteration<? extends E> rightArg) Creates a new MinusIteration that returns the results of the left argument minus the results of the right argument.MinusIteration
(CloseableIteration<? extends E> leftArg, CloseableIteration<? extends E> rightArg, boolean distinct) Creates a new MinusIteration that returns the results of the left argument minus the results of the right argument.MinusIteration
(CloseableIteration<? extends E> leftArg, CloseableIteration<? extends E> rightArg, boolean distinct, Supplier<Set<E>> setMaker) Creates a new MinusIteration that returns the results of the left argument minus the results of the right argument. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Tests whether or not the specified object should be returned by this Iteration.protected void
Closes this Iteration and also closes the wrapped Iteration if it is aCloseableIteration
.Methods inherited from class org.eclipse.rdf4j.common.iteration.FilterIteration
close, hasNext, next, remove
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.rdf4j.common.iteration.CloseableIteration
stream
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Constructor Details
-
MinusIteration
public MinusIteration(CloseableIteration<? extends E> leftArg, CloseableIteration<? extends E> rightArg) Creates a new MinusIteration that returns the results of the left argument minus the results of the right argument. By default, duplicates are not filtered from the results.- Parameters:
leftArg
- An Iteration containing the main set of elements.rightArg
- An Iteration containing the set of elements that should be filtered from the main set.
-
MinusIteration
public MinusIteration(CloseableIteration<? extends E> leftArg, CloseableIteration<? extends E> rightArg, boolean distinct) Creates a new MinusIteration that returns the results of the left argument minus the results of the right argument.- Parameters:
leftArg
- An Iteration containing the main set of elements.rightArg
- An Iteration containing the set of elements that should be filtered from the main set.distinct
- Flag indicating whether duplicate elements should be filtered from the result.
-
MinusIteration
public MinusIteration(CloseableIteration<? extends E> leftArg, CloseableIteration<? extends E> rightArg, boolean distinct, Supplier<Set<E>> setMaker) Creates a new MinusIteration that returns the results of the left argument minus the results of the right argument.- Parameters:
leftArg
- An Iteration containing the main set of elements.rightArg
- An Iteration containing the set of elements that should be filtered from the main set.distinct
- Flag indicating whether duplicate elements should be filtered from the result.
-
-
Method Details
-
accept
Description copied from class:FilterIteration
Tests whether or not the specified object should be returned by this Iteration. All objects from the wrapped Iteration pass through this method in the same order as they are coming from the wrapped Iteration.- Specified by:
accept
in classFilterIteration<E>
- Parameters:
object
- The object to be tested.- Returns:
- true if the object should be returned, false otherwise.
-
handleClose
protected void handleClose()Description copied from class:FilterIteration
Closes this Iteration and also closes the wrapped Iteration if it is aCloseableIteration
.- Specified by:
handleClose
in classFilterIteration<E>
-