Package eu.bandm.tools.umod.runtime
Class CheckedMultimap_RD<D,R>
java.lang.Object
eu.bandm.tools.util.multi.MapMultimap<D,R>
eu.bandm.tools.util.multi.HashMultimap<D,R>
eu.bandm.tools.umod.runtime.CheckedMultimap_RD<D,R>
- All Implemented Interfaces:
Multimap_checkedLeft<D,,R> Multimap_checkedRight<D,,R> Multimap<D,,R> Serializable,Iterable<Map.Entry<D,,R>> Collection<Map.Entry<D,,R>> BiPredicate<D,,R> Set<Map.Entry<D,R>>
public class CheckedMultimap_RD<D,R>
extends HashMultimap<D,R>
implements Multimap_checkedLeft<D,R>, Multimap_checkedRight<D,R>
Implements a multi map which is strict in its domain and its range,
i.e. both sides of the "arrow".
The implementation is done extending the
bandm.metatools runtime class
This implementation uses HASH-maps for both sides. There are other implementations possible, using diffent kinds of maps as underlying storage, but these are not yet connected to the umod code generation.
See
For each of the three checked classes ("RD"/"R"/"D") strictness is only implemented explcitly in two methods. It is guaranteed by the classes from "ops", that there is no bypass:
HashMultimap.
This implementation uses HASH-maps for both sides. There are other implementations possible, using diffent kinds of maps as underlying storage, but these are not yet connected to the umod code generation.
See
MapMultimap.
For each of the three checked classes ("RD"/"R"/"D") strictness is only implemented explcitly in two methods. It is guaranteed by the classes from "ops", that there is no bypass:
ops
MapMultimap
constructor() add(Map.Entry) - X -> add(D,R)
^ | ^
ops | | |
HashMultimap | | |
constructor(Collection<Map.Entry>) | |
^ | |
umod/runtime | | |
CheckedMultimap_X | V |
constructor(Multimap){ add(D,R){
check data} check data}
java.util
AbstractCollection
addAll()
ops ^ \
AbstractMultimap |[add()] \
ops | \
MapMultimap | \
| add(Map.Entry)
|
ops |
HashMultimap | ??????????
constructor(coll<Map.Entry>) constructor(HashMultimap)
^
constructor(Map)
umod/runtime
CheckedMultimap_X
- See Also:
-
Field Summary
Fields inherited from class eu.bandm.tools.util.multi.MapMultimap
backward, forward, sizeFields inherited from interface eu.bandm.tools.util.multi.Multimap
DEFAULT_PAIR_FORMAT_STRING -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class eu.bandm.tools.util.multi.HashMultimap
createBackwardSet, createForwardSetMethods inherited from class eu.bandm.tools.util.multi.MapMultimap
add, addAll, addChecked, clear, contains, contains, domain, image, imageMap, imageUnchecked, isEmpty, iterator, preimage, preimageMap, preimageUnchecked, range, remove, remove, removeAllDomain, removeAllRange, removeDomain, removeRange, retainAllDomain, retainAllRange, size, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.function.BiPredicate
and, negate, orMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface eu.bandm.tools.util.multi.Multimap
addAll, contains, containsAll, containsUnchecked, domain, image, imageAll, imageAllUnchecked, imageMap, imageUnchecked, preimage, preimageAll, preimageAllUnchecked, preimageMap, preimageUnchecked, range, remove, removeAll, removeAllDomain, removeAllDomainUnchecked, removeAllRange, removeAllRangeUnchecked, removeDomain, removeDomainUnchecked, removeRange, removeRangeUnchecked, removeUnchecked, retainAll, retainAllDomain, retainAllDomainUnchecked, retainAllRange, retainAllRangeUnchecked, test, toArray, toArray, toString, toString
-
Constructor Details
-
CheckedMultimap_RD
public CheckedMultimap_RD() -
CheckedMultimap_RD
-
-
Method Details
-
add
Description copied from class:MapMultimapAdds a pair to this multimap. This operation must be stable: adding a pair thatequalsany pair contained in this multimap componentwise must not change this multimap.
-