Statistics
| Revision:

gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.lib / src / main / java / org / gvsig / tools / util / UnmodifiableBasicSetChained.java @ 1882

History | View | Annotate | Download (1.21 KB)

1
package org.gvsig.tools.util;
2

    
3
import java.util.Iterator;
4
import java.util.Set;
5

    
6
/**
7
 *
8
 * @author jjdelcerro
9
 */
10
public class UnmodifiableBasicSetChained<V> implements UnmodifiableBasicSet<V> {
11

    
12
    private final UnmodifiableBasicSet<V>[] sets;
13

    
14
    public UnmodifiableBasicSetChained(UnmodifiableBasicSet<V>... sets) {
15
        this.sets = sets;
16
    }
17
    
18
    @Override
19
    public boolean contains(V value) {
20
        for (UnmodifiableBasicSet<V> set : sets) {
21
            if( set.contains(value) ) {
22
                return true;
23
            }
24
        }
25
        return false;
26
    }
27

    
28
    @Override
29
    public boolean isEmpty() {
30
        for (UnmodifiableBasicSet<V> set : sets) {
31
            if( !set.isEmpty() ) {
32
                return false;
33
            }
34
        }
35
        return true;
36
    }
37

    
38
    @Override
39
    public int size() {
40
        int sz = 0;
41
        for (UnmodifiableBasicSet<V> set : sets) {
42
            sz += set.size();
43
        }
44
        return sz;
45
    }
46

    
47
    @Override
48
    public Iterator<V> iterator() {
49
        Iterator[] its = new Iterator[this.sets.length];
50
        for (int i = 0; i < this.sets.length; i++) {
51
            its[i] = this.sets[i].iterator();
52
        }
53
        return new ChainedIterator<>(its);
54
    }
55
    
56
}