Package eu.bandm.tools.umod.runtime
Class CheckedMultimap_RD<D,R>
java.lang.Object
java.util.AbstractCollection<Map.Entry<A,B>>
eu.bandm.tools.ops.AbstractMultimap<A,B>
eu.bandm.tools.ops.MapMultimap<A,B>
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, createForwardSet
Methods 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, size
Methods inherited from class eu.bandm.tools.ops.AbstractMultimap
containsUnchecked, imageAll, imageAllUnchecked, preimageAll, preimageAllUnchecked, removeAllDomainUnchecked, removeAllRangeUnchecked, removeDomainUnchecked, removeRangeUnchecked, removeUnchecked, retainAllDomainUnchecked, retainAllRangeUnchecked, test
Methods inherited from class java.util.AbstractCollection
addAll, containsAll, isEmpty, removeAll, retainAll, toArray, toArray, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.function.BiPredicate
and, negate, or, test
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods 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, removeRange, removeUnchecked, retainAllDomain, retainAllDomainUnchecked, retainAllRange, retainAllRangeUnchecked
-
Constructor Details
-
CheckedMultimap_RD
public CheckedMultimap_RD() -
CheckedMultimap_RD
-
-
Method Details
-
add
Description copied from interface:Multimap
Adds a pair to this multimap. This operation must be stable: adding a pair thatequals
any pair contained in this multimap componentwise must not change this multimap.
-