|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.modeshape.common.collection.AbstractMultimap<K,V>
K - the key typeV - the value typepublic abstract class AbstractMultimap<K,V>

A Multimap implementation that uses an ArrayList to store the values associated with a key. This implementation
allows duplicates.
| Nested Class Summary | |
|---|---|
protected class |
AbstractMultimap.EntriesCollection
|
protected class |
AbstractMultimap.EntryIterator
|
protected class |
AbstractMultimap.ValueIterator
|
protected class |
AbstractMultimap.ValuesCollection
|
protected class |
AbstractMultimap.WrappedCollection
|
protected class |
AbstractMultimap.WrappedKeySet
|
protected class |
AbstractMultimap.WrappedList
|
protected class |
AbstractMultimap.WrappedMap
|
protected class |
AbstractMultimap.WrappedSortedKeySet
|
| Constructor Summary | |
|---|---|
protected |
AbstractMultimap(Map<K,Collection<V>> entries)
|
| Method Summary | |
|---|---|
Map<K,Collection<V>> |
asMap()
Return a map view that associates each key with the corresponding values in the multimap. |
void |
clear()
Remove all key-value pairs from this multimap. |
boolean |
containsEntry(Object key,
Object value)
Determine whether this multimap contains the supplied key-value pair. |
boolean |
containsKey(K key)
Determine whether this multimap associates any values with the supplied key. |
boolean |
containsValue(Object value)
Determine whether this multimap associates at least one key with the supplied value. |
protected abstract Collection<V> |
createCollection()
|
protected Iterator<Map.Entry<K,V>> |
createEntryIterator()
Return an iterator over all entries in this multimap. |
protected Collection<V> |
createUnmodifiable(Collection<V> original)
|
protected abstract Collection<V> |
createUnmodifiableEmptyCollection()
|
Collection<Map.Entry<K,V>> |
entries()
Return a collection of all key-value pairs. |
boolean |
equals(Object obj)
|
Collection<V> |
get(K key)
Get the collection of values that are associated with the supplied key. |
protected Collection<V> |
getOrCreateCollection(K key)
|
int |
hashCode()
|
boolean |
isEmpty()
|
Set<K> |
keySet()
Return the set of keys in this multimap. |
boolean |
put(K key,
V value)
Associate the supplied value with the given key, returning true if the size of this multimap was increased. |
protected Map<K,Collection<V>> |
rawData()
|
boolean |
remove(K key,
V value)
Remove the supplied key-value pair from this multi-map. |
Collection<V> |
removeAll(K key)
Remove all of the key-value pairs that use the supplied key, returning the collection of values. |
protected boolean |
removeAllValuesForKey(Object key)
|
int |
size()
Return the number of key-value pairs in this multimap. |
String |
toString()
|
Collection<V> |
values()
Return a collection of all values in this multimap. |
protected Collection<V> |
wrapCollection(K key,
Collection<V> values)
|
protected Set<K> |
wrapKeySet()
|
protected List<V> |
wrapList(K key,
List<V> values)
|
protected Map<K,Collection<V>> |
wrapMap(Map<K,Collection<V>> map)
|
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
protected AbstractMultimap(Map<K,Collection<V>> entries)
| Method Detail |
|---|
protected Map<K,Collection<V>> rawData()
protected abstract Collection<V> createCollection()
protected abstract Collection<V> createUnmodifiableEmptyCollection()
protected Collection<V> createUnmodifiable(Collection<V> original)
public int size()
size in interface Multimap<K,V>Multimap.size()public boolean isEmpty()
isEmpty in interface Multimap<K,V>Multimap.isEmpty()public boolean containsKey(K key)
containsKey in interface Multimap<K,V>key - the key
true if there is at least one value associated with the supplied key, or false otherwiseMultimap.containsKey(java.lang.Object)public boolean containsValue(Object value)
containsValue in interface Multimap<K,V>value - the value
true if there is at least one key associated with the supplied value, or false otherwiseMultimap.containsValue(java.lang.Object)
public boolean containsEntry(Object key,
Object value)
containsEntry in interface Multimap<K,V>key - the keyvalue - the value
true if this multimap contains an entry with the supplied key and value, or false otherwiseMultimap.containsEntry(java.lang.Object, java.lang.Object)public Collection<V> get(K key)
Changes to the returned collection will update the values that this multimap associates with the key.
get in interface Multimap<K,V>key - the key
Multimap.get(java.lang.Object)
public boolean put(K key,
V value)
Some implementations allow duplicate key-value pairs, and in these cases this method will always increase the size of the multimap and will thus always return true. Other implementations will not allow duplicate key-value pairs, and may return false if the multimap already contains the supplied key-value pair.
put in interface Multimap<K,V>key - the keyvalue - the value
true if the size of this multimap was increased as a result of this call, or false if the multimap
already contained the key-value pair and doesn't allow duplicatesMultimap.put(java.lang.Object, java.lang.Object)protected Collection<V> getOrCreateCollection(K key)
public boolean remove(K key,
V value)
remove in interface Multimap<K,V>key - the keyvalue - the value
true if the size of this multimap was decreased as a result of this call, or false if the multimap
did not contain the key-value pairMultimap.remove(java.lang.Object, java.lang.Object)public Collection<V> removeAll(K key)
removeAll in interface Multimap<K,V>key - the key
Multimap.removeAll(java.lang.Object)protected boolean removeAllValuesForKey(Object key)
public int hashCode()
hashCode in class ObjectObject.hashCode()public boolean equals(Object obj)
equals in class ObjectObject.equals(java.lang.Object)public String toString()
toString in class ObjectObject.toString()public Set<K> keySet()
keySet in interface Multimap<K,V>Multimap.keySet()public void clear()
clear in interface Multimap<K,V>Multimap.clear()public Map<K,Collection<V>> asMap()
setValue() on its entries,
put, or putAll.
The collections returned by asMap().get(Object) have the same behavior as those returned by Multimap.get(K).
asMap in interface Multimap<K,V>Multimap.asMap()protected Iterator<Map.Entry<K,V>> createEntryIterator()
protected Collection<V> wrapCollection(K key,
Collection<V> values)
protected List<V> wrapList(K key,
List<V> values)
protected Map<K,Collection<V>> wrapMap(Map<K,Collection<V>> map)
protected Set<K> wrapKeySet()
public Collection<V> values()
values in interface Multimap<K,V>Multimap.values()public Collection<Map.Entry<K,V>> entries()
add or addAll operations.
entries in interface Multimap<K,V>Multimap.entries()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||