Package org.jvnet.hk2.component
Class MultiMap<K,V>
java.lang.Object
org.jvnet.hk2.component.MultiMap<K,V>
- Type Parameters:
K
- The key of the multi-mapV
- The types in the multi-map
- All Implemented Interfaces:
Serializable
,Cloneable
Map from a key to multiple values.
Order is significant among values, and null values are allowed, although null keys are not.
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionPackage private (for getting the raw map for direct manipulation by the habitat)final void
Adds one more key-value pair.clone()
Creates a copy of the map that contains the exact same key and value set.boolean
Checks if the map contains the given key(s), also extending the search to including the sub collection.boolean
containsKey
(K k) Checks if the map contains the given key.entrySet()
Lists up all entries.boolean
Returns the elements indexed by the provided keyprivate V
Gets the first value if any, or null.int
hashCode()
keySet()
Returns the set of keys associated with this MultiMapvoid
This method merges all of the keys and values from another MultiMap into this MultiMap.newList
(Collection<? extends V> initialVals) Creates an optionally populated list to be used as an entry in the map.Removes an key value from the mapboolean
Removes an key value pair from the map.void
set
(K k, Collection<? extends V> v) Replaces all the existing values associated with the key by the given value.void
Replaces all the existing values associated with the key by the given single value.int
size()
Returns the size of the map.toString()
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDFor serialization- See Also:
-
store
-
NEWLINE
-
-
Constructor Details
-
MultiMap
public MultiMap()Creates an empty multi-map with default concurrency controls -
MultiMap
Copy constructor.- Parameters:
base
- map to copy
-
-
Method Details
-
newList
Creates an optionally populated list to be used as an entry in the map.- Parameters:
initialVal
-- Returns:
-
keySet
Returns the set of keys associated with this MultiMap- Returns:
- The set of keys currently available in this MultiMap. Will not return null, but may return a Set of lenght zero
-
add
Adds one more key-value pair.- Parameters:
k
- key to store the entry underv
- value to store in the k's values.
-
set
Replaces all the existing values associated with the key by the given value. If v is empty the key k will be removed from the MultiMap.- Parameters:
k
- key for the valuesv
- Can be null or empty.
-
set
Replaces all the existing values associated with the key by the given single value.- Parameters:
k
- key for the valuesv
- singleton value for k key This is short for set(k,Collections.singleton(v))
-
get
Returns the elements indexed by the provided key- Parameters:
k
- key for the values- Returns:
- Can be empty but never null. Read-only.
-
mergeAll
This method merges all of the keys and values from another MultiMap into this MultiMap. If a key/value pair is found in both MultiMaps it is not re-added to this MultiMap, but is instead discarded- Parameters:
another
- The MultiMap from which to add values to this MultiMap. If null this method does nothing
-
_get
Package private (for getting the raw map for direct manipulation by the habitat)- Parameters:
k
- the key- Returns:
-
containsKey
Checks if the map contains the given key.- Parameters:
k
- key to test- Returns:
- true if the map contains at least one element for this key
-
contains
Checks if the map contains the given key(s), also extending the search to including the sub collection.- Parameters:
k1
- key from top collectionk2
- key (value) from inner collection- Returns:
- true if the map contains at least one element for these keys
-
remove
Removes an key value from the map- Parameters:
key
- key to be removed- Returns:
- the value stored under this key or null if there was none
-
remove
Removes an key value pair from the map. If the list of entries for that key is empty after the remove it will be removed from the set of keys- Parameters:
key
- key to be removedentry
- the entry to be removed from the key'ed list- Returns:
- true if there was none that was deleted
-
getOne
Gets the first value if any, or null. This is useful when you know the given key only has one value and you'd like to get to that value.- Parameters:
k
- key for the values- Returns:
- null if the key has no values or it has a value but the value is null.
-
getFirst
-
entrySet
Lists up all entries. -
toCommaSeparatedString
- Returns:
- the map as "key=value1,key=value2,...."
-
clone
Creates a copy of the map that contains the exact same key and value set. Keys and values won't cloned.- Overrides:
clone
in classObject
- Throws:
CloneNotSupportedException
-
size
public int size()Returns the size of the map. This returns the numbers of keys in the map, not the number of values- Returns:
- integer or 0 if the map is empty
-
hashCode
public int hashCode() -
equals
-
toString
-