Package io.usethesource.capsule.core
Class TransientBidirectionalTrieSetMultimap<K,V>
- java.lang.Object
-
- io.usethesource.capsule.core.TransientBidirectionalTrieSetMultimap<K,V>
-
- All Implemented Interfaces:
BinaryRelation<K,V>,BinaryRelation.Transient<K,V>,SetMultimap<K,V>,SetMultimap.Transient<K,V>,SetMultimapEq<K,V>,SetMultimapEq.Transient<K,V>
class TransientBidirectionalTrieSetMultimap<K,V> extends java.lang.Object implements BinaryRelation.Transient<K,V>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.usethesource.capsule.BinaryRelation
BinaryRelation.Immutable<K,V>, BinaryRelation.Transient<K,V>
-
Nested classes/interfaces inherited from interface io.usethesource.capsule.SetMultimap
SetMultimap.Immutable<K,V>, SetMultimap.Transient<K,V>
-
Nested classes/interfaces inherited from interface io.usethesource.capsule.SetMultimapEq
SetMultimapEq.Immutable<K,V>, SetMultimapEq.Transient<K,V>
-
-
Field Summary
Fields Modifier and Type Field Description private SetMultimap.Transient<V,K>bwdprivate SetMultimap.Transient<K,V>fwd
-
Constructor Summary
Constructors Constructor Description TransientBidirectionalTrieSetMultimap(SetMultimap.Transient<K,V> fwd, SetMultimap.Transient<V,K> bwd)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean__insert(K key, V value)boolean__put(K key, V value)boolean__remove(K key, V value)booleancontainsEntry(java.lang.Object o0, java.lang.Object o1)booleancontainsKey(java.lang.Object o)booleancontainsValue(java.lang.Object o)java.util.Iterator<java.util.Map.Entry<K,V>>entryIterator()java.util.Set<java.util.Map.Entry<K,V>>entrySet()booleanequals(java.lang.Object other)Compares the specified object for equality against this multimap.BinaryRelation.Immutable<K,V>freeze()Set.Immutable<V>get(java.lang.Object o)inthashCode()Returns the hash code for this multimap.BinaryRelation.Transient<V,K>inverse()booleanisEmpty()java.util.Iterator<K>keyIterator()java.util.Set<K>keySet()java.util.Iterator<java.util.Map.Entry<K,java.lang.Object>>nativeEntryIterator()Iterates over the raw internal structure.intsize()Return the number of key-value pairs contained in this multimap.intsizeDistinct()SetMultimap<K,V>toSetMultimap()java.lang.StringtoString()<T> java.util.Iterator<T>tupleIterator(java.util.function.BiFunction<K,V,T> dataConverter)<T> java.util.stream.Stream<T>tupleStream(java.util.function.BiFunction<K,V,T> dataConverter)java.util.Iterator<V>valueIterator()java.util.Collection<V>values()private static <K,V>
booleanwireTransientTuple(K key, V value, java.util.function.BiFunction<K,V,java.lang.Boolean> fwdMerger, java.util.function.BiFunction<V,K,java.lang.Boolean> bwdMerger)-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.usethesource.capsule.SetMultimap.Transient
__insert, __put, __remove, complement, intersect, union
-
Methods inherited from interface io.usethesource.capsule.SetMultimapEq
containsEntryEquivalent, containsKeyEquivalent, containsValueEquivalent, getEquivalent
-
Methods inherited from interface io.usethesource.capsule.SetMultimapEq.Transient
__insertEquivalent, __insertEquivalent, __putEquivalent, __putEquivalent, __removeEquivalent, __removeEquivalent, complementEquivalent, intersectEquivalent, unionEquivalent
-
-
-
-
Field Detail
-
fwd
private final SetMultimap.Transient<K,V> fwd
-
bwd
private final transient SetMultimap.Transient<V,K> bwd
-
-
Constructor Detail
-
TransientBidirectionalTrieSetMultimap
public TransientBidirectionalTrieSetMultimap(SetMultimap.Transient<K,V> fwd, SetMultimap.Transient<V,K> bwd)
-
-
Method Detail
-
wireTransientTuple
private static <K,V> boolean wireTransientTuple(K key, V value, java.util.function.BiFunction<K,V,java.lang.Boolean> fwdMerger, java.util.function.BiFunction<V,K,java.lang.Boolean> bwdMerger)
-
inverse
public BinaryRelation.Transient<V,K> inverse()
- Specified by:
inversein interfaceBinaryRelation<K,V>- Specified by:
inversein interfaceBinaryRelation.Transient<K,V>
-
toSetMultimap
public SetMultimap<K,V> toSetMultimap()
- Specified by:
toSetMultimapin interfaceBinaryRelation<K,V>
-
size
public int size()
Description copied from interface:SetMultimapReturn the number of key-value pairs contained in this multimap.- Specified by:
sizein interfaceSetMultimap<K,V>- Returns:
- number of key-value pairs in this multimap
-
sizeDistinct
public int sizeDistinct()
- Specified by:
sizeDistinctin interfaceSetMultimap<K,V>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceSetMultimap<K,V>
-
containsKey
public boolean containsKey(java.lang.Object o)
- Specified by:
containsKeyin interfaceSetMultimap<K,V>
-
containsValue
public boolean containsValue(java.lang.Object o)
- Specified by:
containsValuein interfaceSetMultimap<K,V>
-
containsEntry
public boolean containsEntry(java.lang.Object o0, java.lang.Object o1)- Specified by:
containsEntryin interfaceSetMultimap<K,V>
-
get
public Set.Immutable<V> get(java.lang.Object o)
- Specified by:
getin interfaceSetMultimap<K,V>
-
keySet
public java.util.Set<K> keySet()
- Specified by:
keySetin interfaceSetMultimap<K,V>
-
values
public java.util.Collection<V> values()
- Specified by:
valuesin interfaceSetMultimap<K,V>
-
entrySet
public java.util.Set<java.util.Map.Entry<K,V>> entrySet()
- Specified by:
entrySetin interfaceSetMultimap<K,V>
-
keyIterator
public java.util.Iterator<K> keyIterator()
- Specified by:
keyIteratorin interfaceSetMultimap<K,V>
-
valueIterator
public java.util.Iterator<V> valueIterator()
- Specified by:
valueIteratorin interfaceSetMultimap<K,V>
-
entryIterator
public java.util.Iterator<java.util.Map.Entry<K,V>> entryIterator()
- Specified by:
entryIteratorin interfaceSetMultimap<K,V>
-
nativeEntryIterator
public java.util.Iterator<java.util.Map.Entry<K,java.lang.Object>> nativeEntryIterator() throws java.lang.UnsupportedOperationException
Description copied from interface:SetMultimapIterates over the raw internal structure. Optional operation.- Specified by:
nativeEntryIteratorin interfaceSetMultimap<K,V>- Returns:
- native iterator, if supported
- Throws:
java.lang.UnsupportedOperationException
-
tupleIterator
public <T> java.util.Iterator<T> tupleIterator(java.util.function.BiFunction<K,V,T> dataConverter)
- Specified by:
tupleIteratorin interfaceSetMultimap<K,V>
-
tupleStream
public <T> java.util.stream.Stream<T> tupleStream(java.util.function.BiFunction<K,V,T> dataConverter)
- Specified by:
tupleStreamin interfaceSetMultimap<K,V>
-
__put
public boolean __put(K key, V value)
- Specified by:
__putin interfaceSetMultimap.Transient<K,V>
-
__insert
public boolean __insert(K key, V value)
- Specified by:
__insertin interfaceSetMultimap.Transient<K,V>
-
__remove
public boolean __remove(K key, V value)
- Specified by:
__removein interfaceSetMultimap.Transient<K,V>
-
hashCode
public int hashCode()
Description copied from interface:SetMultimapReturns the hash code for this multimap. The hash code is defined to equal the hash of aSetview (rather than to equal the hash code ofMap).- Specified by:
hashCodein interfaceSetMultimap<K,V>- Overrides:
hashCodein classjava.lang.Object- Returns:
- the hash code for this multimap
-
equals
public boolean equals(java.lang.Object other)
Description copied from interface:SetMultimapCompares the specified object for equality against this multimap. The notion of equality is equal to theSetview of a multimap, i.e., all key-value pairs have to equal.- Specified by:
equalsin interfaceSetMultimap<K,V>- Overrides:
equalsin classjava.lang.Object- Parameters:
other- the object that is checked for equality against this multimap- Returns:
trueif the specified object is equal to this map
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
freeze
public BinaryRelation.Immutable<K,V> freeze()
- Specified by:
freezein interfaceBinaryRelation.Transient<K,V>- Specified by:
freezein interfaceSetMultimap.Transient<K,V>
-
-