org.apache.commons.collections4.map
Class UnmodifiableMap<K,V>

java.lang.Object
  extended by org.apache.commons.collections4.map.AbstractIterableMap<K,V>
      extended by org.apache.commons.collections4.map.AbstractMapDecorator<K,V>
          extended by org.apache.commons.collections4.map.UnmodifiableMap<K,V>
All Implemented Interfaces:
Serializable, Map<K,V>, Get<K,V>, IterableGet<K,V>, IterableMap<K,V>, Put<K,V>, Unmodifiable

public final class UnmodifiableMap<K,V>
extends AbstractMapDecorator<K,V>
implements IterableMap<K,V>, Unmodifiable, Serializable

Decorates another Map to ensure it can't be altered.

This class is Serializable from Commons Collections 3.1.

Attempts to modify it will result in an UnsupportedOperationException.

Since:
3.0
Version:
$Id: UnmodifiableMap.java 1479407 2013-05-05 22:07:53Z tn $
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Method Summary
 void clear()
           
 Set<Map.Entry<K,V>> entrySet()
           
 Set<K> keySet()
           
 MapIterator<K,V> mapIterator()
          Obtains a MapIterator over the map.
 V put(K key, V value)
          Note that the return type is Object, rather than V as in the Map interface.
 void putAll(Map<? extends K,? extends V> mapToCopy)
           
 V remove(Object key)
           
static
<K,V> Map<K,V>
unmodifiableMap(Map<K,V> map)
          Factory method to create an unmodifiable map.
 Collection<V> values()
           
 
Methods inherited from class org.apache.commons.collections4.map.AbstractMapDecorator
containsKey, containsValue, decorated, equals, get, hashCode, isEmpty, size, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
containsKey, containsValue, equals, get, hashCode, isEmpty, size
 
Methods inherited from interface org.apache.commons.collections4.Get
containsKey, containsValue, get, isEmpty, size
 

Method Detail

unmodifiableMap

public static <K,V> Map<K,V> unmodifiableMap(Map<K,V> map)
Factory method to create an unmodifiable map.

Type Parameters:
K - the key type
V - the value type
Parameters:
map - the map to decorate, must not be null
Returns:
a new unmodifiable map
Throws:
IllegalArgumentException - if map is null
Since:
4.0

clear

public void clear()
Specified by:
clear in interface Map<K,V>
Specified by:
clear in interface Put<K,V>
Overrides:
clear in class AbstractMapDecorator<K,V>
See Also:
Map.clear()

put

public V put(K key,
             V value)
Description copied from interface: Put
Note that the return type is Object, rather than V as in the Map interface. See the class Javadoc for further info.

Specified by:
put in interface Map<K,V>
Specified by:
put in interface Put<K,V>
Overrides:
put in class AbstractMapDecorator<K,V>
See Also:
Map.put(Object, Object)

putAll

public void putAll(Map<? extends K,? extends V> mapToCopy)
Specified by:
putAll in interface Map<K,V>
Specified by:
putAll in interface Put<K,V>
Overrides:
putAll in class AbstractMapDecorator<K,V>
See Also:
Map.putAll(Map)

remove

public V remove(Object key)
Specified by:
remove in interface Map<K,V>
Specified by:
remove in interface Get<K,V>
Overrides:
remove in class AbstractMapDecorator<K,V>
See Also:
Map.remove(Object)

mapIterator

public MapIterator<K,V> mapIterator()
Description copied from class: AbstractIterableMap
Obtains a MapIterator over the map.

A map iterator is an efficient way of iterating over maps. There is no need to access the entry set or use Map Entry objects.

 IterableMap map = new HashedMap();
 MapIterator it = map.mapIterator();
 while (it.hasNext()) {
   String key = it.next();
   Integer value = it.getValue();
   it.setValue(value + 1);
 }
 

Specified by:
mapIterator in interface IterableGet<K,V>
Overrides:
mapIterator in class AbstractIterableMap<K,V>
Returns:
a map iterator

entrySet

public Set<Map.Entry<K,V>> entrySet()
Specified by:
entrySet in interface Map<K,V>
Specified by:
entrySet in interface Get<K,V>
Overrides:
entrySet in class AbstractMapDecorator<K,V>
See Also:
Map.entrySet()

keySet

public Set<K> keySet()
Specified by:
keySet in interface Map<K,V>
Specified by:
keySet in interface Get<K,V>
Overrides:
keySet in class AbstractMapDecorator<K,V>
See Also:
Map.keySet()

values

public Collection<V> values()
Specified by:
values in interface Map<K,V>
Specified by:
values in interface Get<K,V>
Overrides:
values in class AbstractMapDecorator<K,V>
See Also:
Map.values()


Copyright © 2001–2013 The Apache Software Foundation. All rights reserved.