org.apache.commons.collections4.map

## Interface CompositeMap.MapMutator<K,V>

- Type Parameters:
    `K` - the type of the keys in the map
    `V` - the type of the values in the map
  All Superinterfaces:
    Serializable
  Enclosing class:
    CompositeMap<K,V>

      public static interface CompositeMap.MapMutator<K,V>
      extends Serializable

  This interface allows definition for all of the indeterminate mutators in a CompositeMap, as well as providing a hook for callbacks on key collisions.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `V` | `put(CompositeMap<K,V> map, Map<K,V>[] composited, K key, V value)` Called when the CompositeMap.put() method is invoked.
    `void` | `putAll(CompositeMap<K,V> map, Map<K,V>[] composited, Map<? extends K,? extends V> mapToAdd)` Called when the CompositeMap.putAll() method is invoked.
    `void` | `resolveCollision(CompositeMap<K,V> composite, Map<K,V> existing, Map<K,V> added, Collection<K> intersect)` Called when adding a new Composited Map results in a key collision.

- - ### Method Detail

    - #### resolveCollision

          void resolveCollision(CompositeMap<K,V> composite,
                                Map<K,V> existing,
                                Map<K,V> added,
                                Collection<K> intersect)

      Called when adding a new Composited Map results in a key collision.
      Parameters:
        `composite` - the CompositeMap with the collision
        `existing` - the Map already in the composite which contains the offending key
        `added` - the Map being added
        `intersect` - the intersection of the keysets of the existing and added maps

    - #### put

          V put(CompositeMap<K,V> map,
                Map<K,V>[] composited,
                K key,
                V value)

      Called when the CompositeMap.put() method is invoked.
      Parameters:
        `map` - the CompositeMap which is being modified
        `composited` - array of Maps in the CompositeMap being modified
        `key` - key with which the specified value is to be associated.
        `value` - value to be associated with the specified key.
      Returns:
        previous value associated with specified key, or `null` if there was no mapping for key. A `null` return can also indicate that the map previously associated `null` with the specified key, if the implementation supports `null` values.
      Throws:
        `UnsupportedOperationException` - if not defined
        `ClassCastException` - if the class of the specified key or value prevents it from being stored in this map.
        `IllegalArgumentException` - if some aspect of this key or value prevents it from being stored in this map.
        `NullPointerException` - this map does not permit `null` keys or values, and the specified key or value is `null`.

    - #### putAll

          void putAll(CompositeMap<K,V> map,
                      Map<K,V>[] composited,
                      Map<? extends K,? extends V> mapToAdd)

      Called when the CompositeMap.putAll() method is invoked.
      Parameters:
        `map` - the CompositeMap which is being modified
        `composited` - array of Maps in the CompositeMap being modified
        `mapToAdd` - Mappings to be stored in this CompositeMap
      Throws:
        `UnsupportedOperationException` - if not defined
        `ClassCastException` - if the class of the specified key or value prevents it from being stored in this map.
        `IllegalArgumentException` - if some aspect of this key or value prevents it from being stored in this map.
        `NullPointerException` - this map does not permit `null` keys or values, and the specified key or value is `null`.

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