info.aduna.iteration
Class MinusIteration<E,X extends Exception>
java.lang.Object
info.aduna.iteration.CloseableIterationBase<E,X>
info.aduna.iteration.IterationWrapper<E,X>
info.aduna.iteration.FilterIteration<E,X>
info.aduna.iteration.MinusIteration<E,X>
- All Implemented Interfaces:
- CloseableIteration<E,X>, Iteration<E,X>
- Direct Known Subclasses:
- MinusIterator
public class MinusIteration<E,X extends Exception>
- extends FilterIteration<E,X>
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 |
MinusIteration(Iteration<? extends E,X> leftArg,
Iteration<? extends E,X> rightArg)
Creates a new MinusIteration that returns the results of the left argument
minus the results of the right argument. |
MinusIteration(Iteration<? extends E,X> leftArg,
Iteration<? extends E,X> rightArg,
boolean distinct)
Creates a new MinusIteration that returns the results of the left argument
minus the results of the right argument. |
|
Method Summary |
protected boolean |
accept(E object)
Tests whether or not the specified object should be returned by this
Iteration. |
protected void |
handleClose()
Closed this Iteration and also closes the wrapped Iteration if it is a
CloseableIteration. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MinusIteration
public MinusIteration(Iteration<? extends E,X> leftArg,
Iteration<? extends E,X> 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(Iteration<? extends E,X> leftArg,
Iteration<? extends E,X> 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.
accept
protected boolean accept(E object)
throws X extends Exception
- 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 class FilterIteration<E,X extends Exception>
- Parameters:
object - The object to be tested.
- Returns:
- true if the object should be returned, false
otherwise.
- Throws:
X
X extends Exception
handleClose
protected void handleClose()
throws X extends Exception
- Description copied from class:
IterationWrapper
- Closed this Iteration and also closes the wrapped Iteration if it is a
CloseableIteration.
- Overrides:
handleClose in class FilterIteration<E,X extends Exception>
- Throws:
X
X extends Exception
Copyright © 1997-2008 Aduna. All Rights Reserved.