1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.collections4.iterators;
18
19 import org.apache.commons.collections4.OrderedMapIterator;
20 import org.apache.commons.collections4.Unmodifiable;
21
22
23
24
25
26
27
28
29
30
31
32 public final class UnmodifiableOrderedMapIterator<K, V> implements OrderedMapIterator<K, V>,
33 Unmodifiable {
34
35
36 private final OrderedMapIterator<? extends K, ? extends V> iterator;
37
38
39
40
41
42
43
44
45
46
47
48 public static <K, V> OrderedMapIterator<K, V> unmodifiableOrderedMapIterator(
49 final OrderedMapIterator<K, ? extends V> iterator) {
50
51 if (iterator == null) {
52 throw new NullPointerException("OrderedMapIterator must not be null");
53 }
54 if (iterator instanceof Unmodifiable) {
55 @SuppressWarnings("unchecked")
56 final OrderedMapIterator<K, V> tmpIterator = (OrderedMapIterator<K, V>) iterator;
57 return tmpIterator;
58 }
59 return new UnmodifiableOrderedMapIterator<>(iterator);
60 }
61
62
63
64
65
66
67
68 private UnmodifiableOrderedMapIterator(final OrderedMapIterator<K, ? extends V> iterator) {
69 super();
70 this.iterator = iterator;
71 }
72
73
74 @Override
75 public boolean hasNext() {
76 return iterator.hasNext();
77 }
78
79 @Override
80 public K next() {
81 return iterator.next();
82 }
83
84 @Override
85 public boolean hasPrevious() {
86 return iterator.hasPrevious();
87 }
88
89 @Override
90 public K previous() {
91 return iterator.previous();
92 }
93
94 @Override
95 public K getKey() {
96 return iterator.getKey();
97 }
98
99 @Override
100 public V getValue() {
101 return iterator.getValue();
102 }
103
104 @Override
105 public V setValue(final V value) {
106 throw new UnsupportedOperationException("setValue() is not supported");
107 }
108
109 @Override
110 public void remove() {
111 throw new UnsupportedOperationException("remove() is not supported");
112 }
113
114 }