Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.google.common.collect
Class MutableClassToInstanceMap<B>

    java.lang.Object
      com.google.common.collect.ForwardingObject
          com.google.common.collect.ForwardingMap<K,V>
              com.google.common.collect.MutableClassToInstanceMap<B>

All Implemented Interfaces:
  ClassToInstanceMap<B>, Map<Class<? extends B>,B>

    public final class MutableClassToInstanceMap<B>

extends ForwardingMap<K,V>
implements ClassToInstanceMap<B>

A mutable class-to-instance map backed by an arbitrary user-provided map. See also `ImmutableClassToInstanceMap`.

Author:
  Kevin Bourrillion

Nested Class Summary

Nested classes/interfaces inherited from interface java.util.Map
`Map.Entry<K,V>`

Method Summary
`static
`<B> MutableClassToInstanceMap<B>`
` | `create()` Returns a new `MutableClassToInstanceMap` instance backed by a `HashMap` using the default initial capacity and load factor.
`static
`<B> MutableClassToInstanceMap<B>`
` | `create(Map<Class<? extends B>,B> backingMap)` Returns a new `MutableClassToInstanceMap` instance backed by a given empty `backingMap`.
`protected Map<K,V>` | `delegate()` Returns the backing delegate instance that methods are forwarded to.
`Set<Map.Entry<K,V>>` | `entrySet()` Returns a `Set` view of the mappings contained in this map.
`
`<T extends B> T`
` | `getInstance(Class<T> type)` Returns the value the specified class is mapped to, or `null` if no entry for this class is present.
`V` | `put(K key, V value)` Associates the specified value with the specified key in this map (optional operation).
`void` | `putAll(Map<? extends K,? extends V> map)` Copies all of the mappings from the specified map to this map (optional operation).
`
`<T extends B> T`
` | `putInstance(Class<T> type, T value)` Maps the specified class to the specified value.

Methods inherited from class com.google.common.collect.ForwardingMap
`clear, containsKey, containsValue, equals, get, hashCode, isEmpty, keySet, remove, size, values`

Methods inherited from class com.google.common.collect.ForwardingObject
`toString`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface java.util.Map
`clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values`

Method Detail

### create

    public static <B> MutableClassToInstanceMap<B> create()

  Returns a new `MutableClassToInstanceMap` instance backed by a `HashMap` using the default initial capacity and load factor.

### create

    public static <B> MutableClassToInstanceMap<B> create(Map<Class<? extends B>,B> backingMap)

  Returns a new `MutableClassToInstanceMap` instance backed by a given empty `backingMap`. The caller surrenders control of the backing map, and thus should not allow any direct references to it to remain accessible.

### putInstance

    public <T extends B> T putInstance(Class<T> type,
                                       T value)

  Description copied from interface: `ClassToInstanceMap`
  Maps the specified class to the specified value. Does not associate this value with any of the class's supertypes.

  Specified by:
    `putInstance` in interface `ClassToInstanceMap<B>`
  Returns:
    the value previously associated with this class (possibly `null`), or `null` if there was no previous entry.

### getInstance

    public <T extends B> T getInstance(Class<T> type)

  Description copied from interface: `ClassToInstanceMap`
  Returns the value the specified class is mapped to, or `null` if no entry for this class is present. This will only return a value that was bound to this specific class, not a value that may have been bound to a subtype.

  Specified by:
    `getInstance` in interface `ClassToInstanceMap<B>`

### delegate

    protected Map<K,V> delegate()

  Description copied from class: `ForwardingObject`
  Returns the backing delegate instance that methods are forwarded to. Abstract subclasses generally override this method with an abstract method that has a more specific return type, such as `ForwardingSet.delegate()`. Concrete subclasses override this method to supply the instance being decorated.

  Specified by:
    `delegate` in class `ForwardingMap<K,V>`

### entrySet

    public Set<Map.Entry<K,V>> entrySet()

  Description copied from interface: `java.util.Map`
  Returns a `Set` view of the mappings contained in this map. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. If the map is modified while an iteration over the set is in progress (except through the iterator's own `remove` operation, or through the `setValue` operation on a map entry returned by the iterator) the results of the iteration are undefined. The set supports element removal, which removes the corresponding mapping from the map, via the `Iterator.remove`, `Set.remove`, `removeAll`, `retainAll` and `clear` operations. It does not support the `add` or `addAll` operations.

  Specified by:
    `entrySet` in interface `Map<K,V>`
  Overrides:
    `entrySet` in class `ForwardingMap<K,V>`
  Returns:
    a set view of the mappings contained in this map

### put

    public V put(K key,
                 V value)

  Description copied from interface: `java.util.Map`
  Associates the specified value with the specified key in this map (optional operation). If the map previously contained a mapping for the key, the old value is replaced by the specified value. (A map `m` is said to contain a mapping for a key `k` if and only if `m.containsKey(k)` would return `true`.)

  Specified by:
    `put` in interface `Map<K,V>`
  Overrides:
    `put` in class `ForwardingMap<K,V>`
  Parameters:
    `key` - key with which the specified value is to be associated
    `value` - value to be associated with the specified key
  Returns:
    the previous value associated with `key`, or `null` if there was no mapping for `key`. (A `null` return can also indicate that the map previously associated `null` with `key`, if the implementation supports `null` values.)

### putAll

    public void putAll(Map<? extends K,? extends V> map)

  Description copied from interface: `java.util.Map`
  Copies all of the mappings from the specified map to this map (optional operation). The effect of this call is equivalent to that of calling `put(k, v)` on this map once for each mapping from key `k` to value `v` in the specified map. The behavior of this operation is undefined if the specified map is modified while the operation is in progress.

  Specified by:
    `putAll` in interface `Map<K,V>`
  Overrides:
    `putAll` in class `ForwardingMap<K,V>`
  Parameters:
    `map` - mappings to be stored in this map

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD