Class UnmodifiableMap<K,V>

java.lang.Object
org.opendaylight.yangtools.util.UnmodifiableMap<K,V>
Type Parameters:
K - the type of keys maintained by this map
V - the type of mapped values
All Implemented Interfaces:
Map<K,V>, Immutable

public final class UnmodifiableMap<K,V> extends Object implements Map<K,V>, Immutable
An unmodifiable view over a Map. Unlike the view returned via Collections.unmodifiableMap(Map), this class checks its argument to ensure multiple encapsulation does not occur.

This class checks the argument so it prevents multiple encapsulation. Subclasses of ImmutableMap are also recognized and not encapsulated.

  • Method Details

    • of

      public static <K, V> @NonNull Map<K,V> of(@NonNull Map<K,V> map)
      Create an unmodifiable view of the target Map. If the map is known to be unmodifiable, that same instance is returned. Otherwise an unmodifiable view of the map will be returned.
      Parameters:
      map - Target map
      Returns:
      An unmodifiable view of the map
      Throws:
      NullPointerException - if map is null
    • size

      public int size()
      Specified by:
      size in interface Map<K,V>
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface Map<K,V>
    • containsKey

      public boolean containsKey(Object key)
      Specified by:
      containsKey in interface Map<K,V>
    • containsValue

      public boolean containsValue(Object value)
      Specified by:
      containsValue in interface Map<K,V>
    • get

      public V get(Object key)
      Specified by:
      get in interface Map<K,V>
    • keySet

      public Set<K> keySet()
      Specified by:
      keySet in interface Map<K,V>
    • values

      public Collection<V> values()
      Specified by:
      values in interface Map<K,V>
    • entrySet

      public Set<Map.Entry<K,V>> entrySet()
      Specified by:
      entrySet in interface Map<K,V>
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface Map<K,V>
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface Map<K,V>
      Overrides:
      equals in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • put

      public V put(K key, V value)
      Specified by:
      put in interface Map<K,V>
    • remove

      public V remove(Object key)
      Specified by:
      remove in interface Map<K,V>
    • putAll

      public void putAll(Map<? extends K,? extends V> m)
      Specified by:
      putAll in interface Map<K,V>
    • clear

      public void clear()
      Specified by:
      clear in interface Map<K,V>