Class UnmodifiableOrderedMapIterator<K,V>
- java.lang.Object
-
- org.apache.openjpa.lib.util.collections.UnmodifiableOrderedMapIterator<K,V>
-
- Type Parameters:
K
- the type of keysV
- the type of mapped values
- All Implemented Interfaces:
java.util.Iterator<K>
,MapIterator<K,V>
,OrderedIterator<K>
,OrderedMapIterator<K,V>
,Unmodifiable
public final class UnmodifiableOrderedMapIterator<K,V> extends java.lang.Object implements OrderedMapIterator<K,V>, Unmodifiable
Decorates an ordered map iterator such that it cannot be modified.Attempts to modify it will result in an UnsupportedOperationException.
- Since:
- 3.0
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description K
getKey()
Gets the current key, which is the key returned by the last call tonext()
.V
getValue()
Gets the current value, which is the value associated with the last key returned bynext()
.boolean
hasNext()
Checks to see if there are more entries still to be iterated.boolean
hasPrevious()
Checks to see if there is a previous entry that can be iterated to.K
next()
Gets the next key from theMap
.K
previous()
Gets the previous key from theMap
.void
remove()
Removes the last returned key from the underlyingMap
(optional operation).V
setValue(V value)
Sets the value associated with the current key (optional operation).static <K,V>
OrderedMapIterator<K,V>unmodifiableOrderedMapIterator(OrderedMapIterator<K,? extends V> iterator)
Decorates the specified iterator such that it cannot be modified.
-
-
-
Method Detail
-
unmodifiableOrderedMapIterator
public static <K,V> OrderedMapIterator<K,V> unmodifiableOrderedMapIterator(OrderedMapIterator<K,? extends V> iterator)
Decorates the specified iterator such that it cannot be modified.- Type Parameters:
K
- the key typeV
- the value type- Parameters:
iterator
- the iterator to decorate- Returns:
- a new unmodifiable ordered map iterator
- Throws:
java.lang.NullPointerException
- if the iterator is null
-
hasNext
public boolean hasNext()
Description copied from interface:MapIterator
Checks to see if there are more entries still to be iterated.- Specified by:
hasNext
in interfacejava.util.Iterator<K>
- Specified by:
hasNext
in interfaceMapIterator<K,V>
- Returns:
true
if the iterator has more elements
-
next
public K next()
Description copied from interface:MapIterator
Gets the next key from theMap
.- Specified by:
next
in interfacejava.util.Iterator<K>
- Specified by:
next
in interfaceMapIterator<K,V>
- Returns:
- the next key in the iteration
-
hasPrevious
public boolean hasPrevious()
Description copied from interface:OrderedMapIterator
Checks to see if there is a previous entry that can be iterated to.- Specified by:
hasPrevious
in interfaceOrderedIterator<K>
- Specified by:
hasPrevious
in interfaceOrderedMapIterator<K,V>
- Returns:
true
if the iterator has a previous element
-
previous
public K previous()
Description copied from interface:OrderedMapIterator
Gets the previous key from theMap
.- Specified by:
previous
in interfaceOrderedIterator<K>
- Specified by:
previous
in interfaceOrderedMapIterator<K,V>
- Returns:
- the previous key in the iteration
-
getKey
public K getKey()
Description copied from interface:MapIterator
Gets the current key, which is the key returned by the last call tonext()
.- Specified by:
getKey
in interfaceMapIterator<K,V>
- Returns:
- the current key
-
getValue
public V getValue()
Description copied from interface:MapIterator
Gets the current value, which is the value associated with the last key returned bynext()
.- Specified by:
getValue
in interfaceMapIterator<K,V>
- Returns:
- the current value
-
setValue
public V setValue(V value)
Description copied from interface:MapIterator
Sets the value associated with the current key (optional operation).- Specified by:
setValue
in interfaceMapIterator<K,V>
- Parameters:
value
- the new value- Returns:
- the previous value
-
remove
public void remove()
Description copied from interface:MapIterator
Removes the last returned key from the underlyingMap
(optional operation).This method can be called once per call to
next()
.- Specified by:
remove
in interfacejava.util.Iterator<K>
- Specified by:
remove
in interfaceMapIterator<K,V>
-
-