Revision 2335
org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/util/ChainedIterable.java | ||
---|---|---|
1 |
package org.gvsig.tools.util; |
|
2 |
|
|
3 |
import java.util.Iterator; |
|
4 |
|
|
5 |
public class ChainedIterable<T> implements Iterable<T> { |
|
6 |
|
|
7 |
private final Iterator<T>[] iterators; |
|
8 |
|
|
9 |
public ChainedIterable(Iterable<T>... iterables) { |
|
10 |
this.iterators = new Iterator[iterables.length]; |
|
11 |
for (int i = 0; i < iterables.length; i++) { |
|
12 |
if( iterables[i]==null ) { |
|
13 |
iterators[i] = null; |
|
14 |
} else { |
|
15 |
iterators[i] = iterables[i].iterator(); |
|
16 |
} |
|
17 |
} |
|
18 |
} |
|
19 |
|
|
20 |
@Override |
|
21 |
public Iterator<T> iterator() { |
|
22 |
return new ChainedIterator(this.iterators); |
|
23 |
} |
|
24 |
|
|
25 |
} |
Also available in: Unified diff