Package eu.bandm.tools.umod.runtime
Class CheckedMultimap_RD<D,R>
java.lang.Object
java.util.AbstractCollection<Map.Entry<D,R>>
eu.bandm.tools.ops.AbstractMultimap<D,R>
eu.bandm.tools.ops.MapMultimap<D,R>
eu.bandm.tools.ops.HashMultimap<D,R>
eu.bandm.tools.umod.runtime.CheckedMultimap_RD<D,R>
- All Implemented Interfaces:
Multimap<D,,R> Multimap_checkedLeft<D,,R> Multimap_checkedRight<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.ops.MapMultimap
backward, forward, size -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class eu.bandm.tools.ops.HashMultimap
createBackwardSet, createForwardSetMethods inherited from class eu.bandm.tools.ops.MapMultimap
add, clear, contains, contains, domain, image, imageMap, imageUnchecked, iterator, preimage, preimageMap, preimageUnchecked, range, remove, remove, removeAllDomain, removeAllRange, removeDomain, removeRange, retainAllDomain, retainAllRange, sizeMethods inherited from class eu.bandm.tools.ops.AbstractMultimap
containsUnchecked, imageAll, imageAllUnchecked, preimageAll, preimageAllUnchecked, removeAllDomainUnchecked, removeAllRangeUnchecked, removeDomainUnchecked, removeRangeUnchecked, removeUnchecked, retainAllDomainUnchecked, retainAllRangeUnchecked, testMethods inherited from class java.util.AbstractCollection
addAll, containsAll, isEmpty, removeAll, retainAll, toArray, toArray, 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, or, testMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface eu.bandm.tools.ops.Multimap
contains, containsUnchecked, domain, image, imageAll, imageAllUnchecked, imageMap, imageUnchecked, preimage, preimageAll, preimageAllUnchecked, preimageMap, preimageUnchecked, range, remove, removeAllDomain, removeAllDomainUnchecked, removeAllRange, removeAllRangeUnchecked, removeDomain, removeDomainUnchecked, removeRange, removeRangeUnchecked, removeUnchecked, retainAllDomain, retainAllDomainUnchecked, retainAllRange, retainAllRangeUnchecked
-
Constructor Details
-
CheckedMultimap_RD
public CheckedMultimap_RD() -
CheckedMultimap_RD
-
-
Method Details
-
add
Description copied from interface:MultimapAdds 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.
-