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 Summary
Modifier and TypeMethodDescriptionput
(CompositeMap map, Map[] composited, Object key, Object value) Called when the CompositeMap.put() method is invoked.void
putAll
(CompositeMap map, Map[] composited, Map mapToAdd) Called when the CompositeMap.putAll() method is invoked.void
resolveCollision
(CompositeMap composite, Map existing, Map added, Collection intersect) Called when adding a new Composited Map results in a key collision.
-
Method Details
-
resolveCollision
Called when adding a new Composited Map results in a key collision.- Parameters:
composite
- the CompositeMap with the collisionexisting
- the Map already in the composite which contains the offending keyadded
- the Map being addedintersect
- the intersection of the keysets of the existing and added maps
-
put
Called when the CompositeMap.put() method is invoked.- Parameters:
map
- the CompositeMap which is being modifiedcomposited
- array of Maps in the CompositeMap being modifiedkey
- 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 definedClassCastException
- 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
Called when the CompositeMap.putAll() method is invoked.- Parameters:
map
- the CompositeMap which is being modifiedcomposited
- array of Maps in the CompositeMap being modifiedmapToAdd
- Mappings to be stored in this CompositeMap- Throws:
UnsupportedOperationException
- if not definedClassCastException
- 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.
-