public class MapGroup<K,V>
extends java.lang.Object
Map
s containing
related data.
The same keys may crop up in the maps comprising the groups, and
are taken to have the same meaning, so that all the values associated
with a given key in any of the maps in the group are taken to be
a related set. There is no requirement however that a key which
appears in one of the maps has to appear in any or all of the others.
A single list of the union of all the keys which appear in any
of the maps in the group can be obtained. An ordering may be
imposed on this list.Constructor and Description |
---|
MapGroup()
Constructs a new
MapGroup . |
Modifier and Type | Method and Description |
---|---|
void |
addMap(java.util.Map<K,V> map)
Adds a new Map to the end of this group.
|
java.util.List<K> |
getKeyOrder()
Returns the list which defines ordering for any keys which crop up.
|
java.util.List<K> |
getKnownKeys()
Returns a list of all the keys which appear in any of the metadata sets.
|
java.util.List<java.util.Map<K,V>> |
getMaps()
Returns an unmodifiable list of all the maps in this group.
|
void |
removeKey(K key)
Removes all entries with a given key for every map in this group.
|
void |
removeKeys(java.util.Collection<K> keys)
Removes all entries which have a key in a given collection for
every map in this group.
|
void |
retainKeys(java.util.Collection<K> keys)
Removes all entries except those with keys in a given collection for
every map in this group.
|
void |
setKeyOrder(java.util.List<K> ordering)
Mandates an ordering to be imposed on the map keys.
|
void |
setKnownKeys(java.util.List<K> keys)
Sets the list of known keys.
|
int |
size()
Returns the number of maps in this group.
|
public void addMap(java.util.Map<K,V> map)
map
- the map to addpublic java.util.List<java.util.Map<K,V>> getMaps()
Map
.public int size()
public void setKeyOrder(java.util.List<K> ordering)
getKnownKeys()
.
The supplied argument ordering
is a list of objects;
an object which appears earlier in this list is considered to be
earlier in the list of MapGroup
keys.
Any which do not appear
in this list will be ranked in an unspecified order at the end
(their natural comparison order will be used if both objects
implement Comparable
).
ordering
- a list of objects which may appear in this
group's map keyspublic java.util.List<K> getKeyOrder()
public void removeKeys(java.util.Collection<K> keys)
keys
- the set of key values whose entries must be removedpublic void removeKey(K key)
key
- the key whose entries must be removedpublic void retainKeys(java.util.Collection<K> keys)
keys
- the keys whose entries must be retainedpublic void setKnownKeys(java.util.List<K> keys)
getKnownKeys()
.keys
- collection of keyspublic java.util.List<K> getKnownKeys()
setKeyOrder(java.util.List<K>)
. If it has never been called they will
be returned in an arbitrary order.
If setKnownKeys(java.util.List<K>)
has been called with a non-null argument,
that list will be returned instead.