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