info.aduna.iteration
Class IntersectIteration<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.IntersectIteration<E,X>
- All Implemented Interfaces:
- CloseableIteration<E,X>, Iteration<E,X>
- Direct Known Subclasses:
- IntersectIterator
public class IntersectIteration<E,X extends Exception>
- extends FilterIteration<E,X>
An Iteration that returns the intersection of the results of two Iterations.
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 |
IntersectIteration(Iteration<? extends E,? extends X> arg1,
Iteration<? extends E,? extends X> arg2)
Creates a new IntersectIteration that returns the intersection of the
results of two Iterations. |
IntersectIteration(Iteration<? extends E,? extends X> arg1,
Iteration<? extends E,? extends X> arg2,
boolean distinct)
Creates a new IntersectIteration that returns the intersection of the
results of two Iterations. |
|
Method Summary |
protected boolean |
accept(E object)
Returns true if the object is in the set of elements of the
second argument. |
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 |
IntersectIteration
public IntersectIteration(Iteration<? extends E,? extends X> arg1,
Iteration<? extends E,? extends X> arg2)
- Creates a new IntersectIteration that returns the intersection of the
results of two Iterations. By default, duplicates are not
filtered from the results.
- Parameters:
arg1 - An Iteration containing the first set of elements.arg2 - An Iteration containing the second set of elements.
IntersectIteration
public IntersectIteration(Iteration<? extends E,? extends X> arg1,
Iteration<? extends E,? extends X> arg2,
boolean distinct)
- Creates a new IntersectIteration that returns the intersection of the
results of two Iterations.
- Parameters:
arg1 - An Iteration containing the first set of elements.arg2 - An Iteration containing the second set of elements.distinct - Flag indicating whether duplicate elements should be filtered from
the result.
accept
protected boolean accept(E object)
throws X extends Exception
- Returns true if the object is in the set of elements of the
second argument.
- 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.