Package org.alfresco.util
Interface OneToManyMap<K,V>
-
- All Known Subinterfaces:
OneToManyBiMap<K,V>
- All Known Implementing Classes:
OneToManyHashBiMap
,OneToManyHashMap
public interface OneToManyMap<K,V> extends Map<K,Set<V>>
An extension ofjava.util.Map
that represents a mapping from a key to a set of values. In addition to the standardjava.util.Map
methods this interface also provides several useful methods for directly accessing the values rather than having to access values via ajava.util.Set
- Author:
- Nick Smith
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
containsSingleValue(V value)
This method returnstrue
if any of the value sets in the OneToManyMap contains an equivalent object to thevalue
parameter, where equivalence is determined using theequals(Object)
method.Set<Map.Entry<K,V>>
entries()
This method is similar to thejava.util.Map.entrySet()
method, however the entries returned map from a key to a value, rather than from a key(K
) to a value(V
) rather than froma key(K
) to a set of values(Set<V>
).Collection<V>
flatValues()
Returns a Collection of all the values in the map.void
putAllSingleValues(Map<? extends K,? extends V> m)
This method is similar tojava.utilMap.putAll(Map m)
, however the map specified is from keys to values instead of keys to sets of values.V
putSingleValue(K key, V value)
This method is similar to the methodjava.util.Map.put(K, V)
, however it allows the user to add a single value to the map rather than adding ajava.util.Set
containing one or more values.-
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
-
-
-
Method Detail
-
containsSingleValue
boolean containsSingleValue(V value)
This method returnstrue
if any of the value sets in the OneToManyMap contains an equivalent object to thevalue
parameter, where equivalence is determined using theequals(Object)
method.- Parameters:
value
- The value being searched for.- Returns:
- Returns
true
if any of the value sets contains a matching value, otherwise returnsfalse
-
entries
Set<Map.Entry<K,V>> entries()
This method is similar to thejava.util.Map.entrySet()
method, however the entries returned map from a key to a value, rather than from a key(K
) to a value(V
) rather than froma key(K
) to a set of values(Set<V>
).
Note that the entries returned by this method do not support the methodjava.util.Map.Entry.setValue(V)
.- Returns:
- The
Set<Entry<K, V>> representing all the key-value pairs in the ManyToOneMap.
-
putSingleValue
V putSingleValue(K key, V value)
This method is similar to the methodjava.util.Map.put(K, V)
, however it allows the user to add a single value to the map rather than adding ajava.util.Set
containing one or more values. If the specified key already has a set of values associated with it then the new value is added to this set. Otherwise a new set is created and the new value is added to that.- Parameters:
key
-value
-- Returns:
- returns the newly added value.
-
putAllSingleValues
void putAllSingleValues(Map<? extends K,? extends V> m)
This method is similar tojava.utilMap.putAll(Map m)
, however the map specified is from keys to values instead of keys to sets of values.- Parameters:
m
- A map containing the key-value mappings to be added to the ManyToOneMap.
-
flatValues
Collection<V> flatValues()
Returns a Collection of all the values in the map. Unlikevalues()
the values are in a single flattenedCollection<V>
rather than aCollection<Set<V>>
.- Returns:
- All the values in the map as a flattened Collection.
-
-