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

    Modifier and Type
    Method
    Description
    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 Details

    • 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.
    • 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