org.apache.commons.collections4.bidimap
Class UnmodifiableSortedBidiMap<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.bidimap.AbstractBidiMapDecorator<K,V>
              extended by org.apache.commons.collections4.bidimap.AbstractOrderedBidiMapDecorator<K,V>
                  extended by org.apache.commons.collections4.bidimap.AbstractSortedBidiMapDecorator<K,V>
                      extended by org.apache.commons.collections4.bidimap.UnmodifiableSortedBidiMap<K,V>
All Implemented Interfaces:
Map<K,V>, SortedMap<K,V>, BidiMap<K,V>, Get<K,V>, IterableGet<K,V>, IterableMap<K,V>, OrderedBidiMap<K,V>, OrderedMap<K,V>, Put<K,V>, SortedBidiMap<K,V>, Unmodifiable

public final class UnmodifiableSortedBidiMap<K,V>
extends AbstractSortedBidiMapDecorator<K,V>
implements Unmodifiable

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

Attempts to modify it will result in an UnsupportedOperationException.

Since:
3.0
Version:
$Id: UnmodifiableSortedBidiMap.java 1479400 2013-05-05 21:49:47Z tn $

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Method Summary
 void clear()
           
 Set<Map.Entry<K,V>> entrySet()
           
 SortedMap<K,V> headMap(K toKey)
           
 SortedBidiMap<V,K> inverseBidiMap()
          Gets a view of this map where the keys and values are reversed.
 Set<K> keySet()
           
 OrderedMapIterator<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)
           
 K removeValue(Object value)
          Removes the key-value pair that is currently mapped to the specified value (optional operation).
 SortedMap<K,V> subMap(K fromKey, K toKey)
           
 SortedMap<K,V> tailMap(K fromKey)
           
static
<K,V> SortedBidiMap<K,V>
unmodifiableSortedBidiMap(SortedBidiMap<K,V> map)
          Factory method to create an unmodifiable map.
 Collection<V> values()
           
 
Methods inherited from class org.apache.commons.collections4.bidimap.AbstractSortedBidiMapDecorator
comparator, decorated, valueComparator
 
Methods inherited from class org.apache.commons.collections4.bidimap.AbstractOrderedBidiMapDecorator
firstKey, lastKey, nextKey, previousKey
 
Methods inherited from class org.apache.commons.collections4.bidimap.AbstractBidiMapDecorator
getKey
 
Methods inherited from class org.apache.commons.collections4.map.AbstractMapDecorator
containsKey, containsValue, 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 org.apache.commons.collections4.BidiMap
getKey
 
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
 
Methods inherited from interface org.apache.commons.collections4.OrderedMap
firstKey, lastKey, nextKey, previousKey
 
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
 
Methods inherited from interface java.util.SortedMap
firstKey, lastKey
 

Method Detail

unmodifiableSortedBidiMap

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

If the map passed in is already unmodifiable, it is returned.

Type Parameters:
K - the key type
V - the value type
Parameters:
map - the map to decorate, must not be null
Returns:
an unmodifiable SortedBidiMap
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 BidiMap<K,V>
Specified by:
put in interface Put<K,V>
Overrides:
put in class AbstractMapDecorator<K,V>
Parameters:
key - the key to store
value - the value to store
Returns:
the previous value mapped to this key
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)

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()

removeValue

public K removeValue(Object value)
Description copied from interface: BidiMap
Removes the key-value pair that is currently mapped to the specified value (optional operation).

If the value is not contained in the map, null is returned.

Implementations should seek to make this method perform equally as well as remove(Object).

Specified by:
removeValue in interface BidiMap<K,V>
Overrides:
removeValue in class AbstractBidiMapDecorator<K,V>
Parameters:
value - the value to find the key-value pair for
Returns:
the key that was removed, null if nothing removed

mapIterator

public OrderedMapIterator<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>
Specified by:
mapIterator in interface OrderedMap<K,V>
Overrides:
mapIterator in class AbstractOrderedBidiMapDecorator<K,V>
Returns:
a map iterator

inverseBidiMap

public SortedBidiMap<V,K> inverseBidiMap()
Description copied from interface: BidiMap
Gets a view of this map where the keys and values are reversed.

Changes to one map will be visible in the other and vice versa. This enables both directions of the map to be accessed as a Map.

Implementations should seek to avoid creating a new object every time this method is called. See AbstractMap.values() etc. Calling this method on the inverse map should return the original.

Specified by:
inverseBidiMap in interface BidiMap<K,V>
Specified by:
inverseBidiMap in interface OrderedBidiMap<K,V>
Specified by:
inverseBidiMap in interface SortedBidiMap<K,V>
Overrides:
inverseBidiMap in class AbstractSortedBidiMapDecorator<K,V>
Returns:
an inverted bidirectional map

subMap

public SortedMap<K,V> subMap(K fromKey,
                             K toKey)
Specified by:
subMap in interface SortedMap<K,V>
Overrides:
subMap in class AbstractSortedBidiMapDecorator<K,V>

headMap

public SortedMap<K,V> headMap(K toKey)
Specified by:
headMap in interface SortedMap<K,V>
Overrides:
headMap in class AbstractSortedBidiMapDecorator<K,V>

tailMap

public SortedMap<K,V> tailMap(K fromKey)
Specified by:
tailMap in interface SortedMap<K,V>
Overrides:
tailMap in class AbstractSortedBidiMapDecorator<K,V>


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