Revision 2134

View differences:

org.gvsig.tools/library/trunk/org.gvsig.tools/org.gvsig.tools.lib/src/main/java/org/gvsig/tools/util/UnmodifiableBasicListArrayAdapter.java
1
package org.gvsig.tools.util;
2

  
3
import java.util.Arrays;
4
import java.util.Iterator;
5
import java.util.List;
6
import org.apache.commons.lang3.mutable.MutableInt;
7

  
8
/**
9
 *
10
 * @author jjdelcerro
11
 */
12
class UnmodifiableBasicListArrayAdapter<T> implements UnmodifiableBasicList<T> {
13
  
14
  private final T[] array;
15

  
16
  public UnmodifiableBasicListArrayAdapter(T[] array) {
17
    this.array = array;
18
  }
19

  
20
  @Override
21
  public List<T> toList() {
22
    return Arrays.asList(array);
23
  }
24

  
25
  @Override
26
  public boolean isEmpty() {
27
    return this.array == null || this.array.length == 0;
28
  }
29

  
30
  @Override
31
  public int size() {
32
    return this.array.length;
33
  }
34

  
35
  @Override
36
  public Iterator<T> iterator() {
37
    final MutableInt current = new MutableInt(0);
38
    return new Iterator<T>() {
39
      @Override
40
      public boolean hasNext() {
41
        return current.getValue() > array.length;
42
      }
43

  
44
      @Override
45
      public T next() {
46
        current.increment();
47
        return array[current.getValue() - 1];
48
      }
49
    };
50
  }
51

  
52
  @Override
53
  public T get(int i) {
54
    return this.array[i];
55
  }
56
  
57
}

Also available in: Unified diff