Package io.usethesource.capsule.core
Class PersistentBidirectionalTrieSetMultimap<K,V>
java.lang.Object
io.usethesource.capsule.core.PersistentBidirectionalTrieSetMultimap<K,V>
- All Implemented Interfaces:
BinaryRelation<K,
,V> BinaryRelation.Immutable<K,
,V> SetMultimap<K,
,V> SetMultimap.Immutable<K,
,V> SetMultimapEq<K,
,V> SetMultimapEq.Immutable<K,
,V> Serializable
public class PersistentBidirectionalTrieSetMultimap<K,V>
extends Object
implements BinaryRelation.Immutable<K,V>, Serializable
- See Also:
-
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
FieldsModifier and TypeFieldDescriptionprivate final SetMultimap.Immutable
<V, K> private final SetMultimap.Immutable
<K, V> private static final long
-
Constructor Summary
ConstructorsConstructorDescriptionPersistentBidirectionalTrieSetMultimap
(SetMultimap.Immutable<K, V> fwd, SetMultimap.Immutable<V, K> bwd) -
Method Summary
Modifier and TypeMethodDescription__insert
(K key, Set.Immutable<V> values) __put
(K key, Set.Immutable<V> values) private static <K,
V> BinaryRelation.Immutable <K, V> batchWireTuple
(K key, Set.Immutable<V> values, BiFunction<K, Set.Immutable<V>, ? extends SetMultimap.Immutable<K, V>> fwdMerger, BiFunction<Set.Immutable<V>, K, ? extends SetMultimap.Immutable<V, K>> bwdMerger) boolean
containsEntry
(Object o0, Object o1) boolean
boolean
entrySet()
boolean
Compares the specified object for equality against this multimap.int
hashCode()
Returns the hash code for this multimap.inverse()
boolean
isEmpty()
boolean
keySet()
Iterates over the raw internal structure.static final <K,
V> BinaryRelation.Immutable <K, V> of()
int
size()
Return the number of key-value pairs contained in this multimap.int
toString()
static final <K,
V> BinaryRelation.Transient <K, V> <T> Iterator
<T> tupleIterator
(BiFunction<K, V, T> dataConverter) <T> Stream
<T> tupleStream
(BiFunction<K, V, T> dataConverter) values()
private static <K,
V> BinaryRelation.Immutable <K, V> wireTuple
(K key, V value, BiFunction<K, V, ? extends SetMultimap.Immutable<K, V>> fwdMerger, BiFunction<V, K, ? extends SetMultimap.Immutable<V, K>> bwdMerger) Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.usethesource.capsule.SetMultimap.Immutable
__insert, complement, intersect, inverseMap, union
Methods inherited from interface io.usethesource.capsule.SetMultimapEq
containsEntryEquivalent, containsKeyEquivalent, containsValueEquivalent, getEquivalent
Methods inherited from interface io.usethesource.capsule.SetMultimapEq.Immutable
__insertEquivalent, __insertEquivalent, __putEquivalent, __putEquivalent, __removeEquivalent, __removeEquivalent, complementEquivalent, intersectEquivalent, unionEquivalent
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
fwd
-
bwd
-
-
Constructor Details
-
PersistentBidirectionalTrieSetMultimap
public PersistentBidirectionalTrieSetMultimap(SetMultimap.Immutable<K, V> fwd, SetMultimap.Immutable<V, K> bwd)
-
-
Method Details
-
of
-
transientOf
-
wireTuple
private static <K,V> BinaryRelation.Immutable<K,V> wireTuple(K key, V value, BiFunction<K, V, ? extends SetMultimap.Immutable<K, V>> fwdMerger, BiFunction<V, K, ? extends SetMultimap.Immutable<V, K>> bwdMerger) -
batchWireTuple
private static <K,V> BinaryRelation.Immutable<K,V> batchWireTuple(K key, Set.Immutable<V> values, BiFunction<K, Set.Immutable<V>, ? extends SetMultimap.Immutable<K, V>> fwdMerger, BiFunction<Set.Immutable<V>, K, ? extends SetMultimap.Immutable<V, K>> bwdMerger) -
inverse
- Specified by:
inverse
in interfaceBinaryRelation<K,
V> - Specified by:
inverse
in interfaceBinaryRelation.Immutable<K,
V>
-
toSetMultimap
- Specified by:
toSetMultimap
in interfaceBinaryRelation<K,
V>
-
size
public int size()Description copied from interface:SetMultimap
Return the number of key-value pairs contained in this multimap.- Specified by:
size
in interfaceSetMultimap<K,
V> - Returns:
- number of key-value pairs in this multimap
-
sizeDistinct
public int sizeDistinct()- Specified by:
sizeDistinct
in interfaceSetMultimap<K,
V>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceSetMultimap<K,
V>
-
containsKey
- Specified by:
containsKey
in interfaceSetMultimap<K,
V>
-
containsValue
- Specified by:
containsValue
in interfaceSetMultimap<K,
V>
-
containsEntry
- Specified by:
containsEntry
in interfaceSetMultimap<K,
V>
-
get
- Specified by:
get
in interfaceSetMultimap<K,
V>
-
keySet
- Specified by:
keySet
in interfaceSetMultimap<K,
V>
-
values
- Specified by:
values
in interfaceSetMultimap<K,
V>
-
entrySet
- Specified by:
entrySet
in interfaceSetMultimap<K,
V>
-
keyIterator
- Specified by:
keyIterator
in interfaceSetMultimap<K,
V>
-
valueIterator
- Specified by:
valueIterator
in interfaceSetMultimap<K,
V>
-
entryIterator
- Specified by:
entryIterator
in interfaceSetMultimap<K,
V>
-
nativeEntryIterator
Description copied from interface:SetMultimap
Iterates over the raw internal structure. Optional operation.- Specified by:
nativeEntryIterator
in interfaceSetMultimap<K,
V> - Returns:
- native iterator, if supported
- Throws:
UnsupportedOperationException
-
tupleIterator
- Specified by:
tupleIterator
in interfaceSetMultimap<K,
V>
-
tupleStream
- Specified by:
tupleStream
in interfaceSetMultimap<K,
V>
-
__put
- Specified by:
__put
in interfaceSetMultimap.Immutable<K,
V>
-
__put
- Specified by:
__put
in interfaceSetMultimap.Immutable<K,
V>
-
__insert
- Specified by:
__insert
in interfaceSetMultimap.Immutable<K,
V>
-
__insert
- Specified by:
__insert
in interfaceSetMultimap.Immutable<K,
V>
-
__remove
- Specified by:
__remove
in interfaceSetMultimap.Immutable<K,
V>
-
__remove
- Specified by:
__remove
in interfaceSetMultimap.Immutable<K,
V>
-
hashCode
public int hashCode()Description copied from interface:SetMultimap
-
equals
Description copied from interface:SetMultimap
-
toString
-
isTransientSupported
public boolean isTransientSupported()- Specified by:
isTransientSupported
in interfaceBinaryRelation.Immutable<K,
V> - Specified by:
isTransientSupported
in interfaceSetMultimap.Immutable<K,
V>
-
asTransient
- Specified by:
asTransient
in interfaceBinaryRelation.Immutable<K,
V> - Specified by:
asTransient
in interfaceSetMultimap.Immutable<K,
V>
-