Statistics
| Revision:

gvsig-tools / org.gvsig.tools / library / trunk / org.gvsig.tools / org.gvsig.tools.lib / src / main / java / org / gvsig / tools / util / UnmodifiableBasicListArrayAdapter.java @ 2134

History | View | Annotate | Download (1.05 KB)

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
}