Interface CompositeMap.MapMutator

Enclosing class:
CompositeMap

public static interface CompositeMap.MapMutator
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 Details

    • resolveCollision

      void resolveCollision(CompositeMap composite, Map existing, Map added, Collection 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

      Object put(CompositeMap map, Map[] composited, Object key, Object 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 map, Map[] composited, Map 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.