Package io.usethesource.capsule.core
Class PersistentTrieSetMultimap<K,V>
java.lang.Object
io.usethesource.capsule.core.AbstractTrieSetMultimap<K,V,Set.Immutable<V>,PersistentTrieSetMultimap.AbstractSetMultimapNode<K,V>>
io.usethesource.capsule.core.AbstractPersistentTrieSetMultimap<K,V,Set.Immutable<V>,PersistentTrieSetMultimap.AbstractSetMultimapNode<K,V>>
io.usethesource.capsule.core.PersistentTrieSetMultimap<K,V>
- All Implemented Interfaces:
SetMultimap<K,
,V> SetMultimap.Immutable<K,
,V> SetMultimapEq<K,
,V> SetMultimapEq.Immutable<K,
,V> Serializable
public class PersistentTrieSetMultimap<K,V>
extends AbstractPersistentTrieSetMultimap<K,V,Set.Immutable<V>,PersistentTrieSetMultimap.AbstractSetMultimapNode<K,V>>
implements Serializable
Persistent trie-based set multi-map implementing the HCHAMP encoding.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
protected static class
private static final class
protected static class
protected static class
private static final class
(package private) static final class
Nested classes/interfaces inherited from class io.usethesource.capsule.core.AbstractTrieSetMultimap
AbstractTrieSetMultimap.SetMultimapKeyIterator<K,
V, C, R extends MultimapNode<K, V, C, R>>, AbstractTrieSetMultimap.SetMultimapNativeTupleIterator<K, V, C, R extends MultimapNode<K, V, C, R>>, AbstractTrieSetMultimap.SetMultimapTupleIterator<K, V, C extends Iterable<V>, R extends MultimapNode<K, V, C, R>, T>, AbstractTrieSetMultimap.SetMultimapValueIterator<K, V, C, R extends MultimapNode<K, V, C, R>> 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 static final PersistentTrieSetMultimap
private static final long
Fields inherited from class io.usethesource.capsule.core.AbstractPersistentTrieSetMultimap
cachedKeySetHashCode, cachedKeySetSize, cachedSize, DEBUG, rootNode
Fields inherited from class io.usethesource.capsule.core.AbstractTrieSetMultimap
cmp
-
Constructor Summary
ConstructorsConstructorDescriptionPersistentTrieSetMultimap
(EqualityComparator<Object> cmp, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V> rootNode, int cachedSize, int keySetHashCode, int keySetSize) -
Method Summary
Modifier and TypeMethodDescriptionprotected final Set.Immutable
<V> collectionToInternalFormat
(Set.Immutable<V> valueCollection) protected final Set.Immutable
<V> internalFormatToCollection
(Set.Immutable<V> values) boolean
isEmpty()
boolean
static final <K,
V> SetMultimap.Immutable <K, V> of()
static final <K,
V> SetMultimap.Immutable <K, V> of
(EqualityComparator<Object> cmp) static final <K,
V> SetMultimap.Immutable <K, V> of
(K key, V... values) static final <K,
V> SetMultimap.Immutable <K, V> of
(K key0, V value0, K key1, V value1) int
size()
Return the number of key-value pairs contained in this multimap.int
static final <K,
V> SetMultimap.Transient <K, V> static final <K,
V> SetMultimap.Transient <K, V> static final <K,
V> SetMultimap.Transient <K, V> transientOf
(K key, V... values) union
(SetMultimap<? extends K, ? extends V> setMultimap) protected Set.Immutable
<V> valueToTemporaryBox
(V value) protected final PersistentTrieSetMultimap
<K, V> wrap
(EqualityComparator<Object> cmp, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V> rootNode, int cachedSize, int keySetHashCode, int keySetSize) Methods inherited from class io.usethesource.capsule.core.AbstractPersistentTrieSetMultimap
__insert, __insert, __put, __put, __remove, __remove, getCachedKeySetHashCode, getCachedKeySetSize, getCachedSize, getRootNode
Methods inherited from class io.usethesource.capsule.core.AbstractTrieSetMultimap
containsEntry, containsKey, containsValue, entryIterator, entrySet, equals, get, getNodeCount, hashCode, hashCode, keyIterator, keySet, keySetHashCode, keySetSize, nativeEntryIterator, nodeIterator, size, toString, transformHashCode, tupleIterator, valueIterator, values
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface io.usethesource.capsule.SetMultimap
containsEntry, containsKey, containsValue, entryIterator, entrySet, equals, get, hashCode, keyIterator, keySet, nativeEntryIterator, tupleIterator, tupleStream, values
Methods inherited from interface io.usethesource.capsule.SetMultimap.Immutable
__insert, complement, intersect
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:
-
EMPTY_SETMULTIMAP
-
-
Constructor Details
-
PersistentTrieSetMultimap
PersistentTrieSetMultimap(EqualityComparator<Object> cmp, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V> rootNode, int cachedSize, int keySetHashCode, int keySetSize)
-
-
Method Details
-
valueToTemporaryBox
- Specified by:
valueToTemporaryBox
in classAbstractTrieSetMultimap<K,
V, Set.Immutable<V>, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V>>
-
collectionToInternalFormat
- Specified by:
collectionToInternalFormat
in classAbstractTrieSetMultimap<K,
V, Set.Immutable<V>, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V>>
-
internalFormatToCollection
- Specified by:
internalFormatToCollection
in classAbstractTrieSetMultimap<K,
V, Set.Immutable<V>, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V>>
-
wrap
protected final PersistentTrieSetMultimap<K,V> wrap(EqualityComparator<Object> cmp, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V> rootNode, int cachedSize, int keySetHashCode, int keySetSize) - Specified by:
wrap
in classAbstractPersistentTrieSetMultimap<K,
V, Set.Immutable<V>, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V>>
-
of
-
of
-
of
-
of
-
transientOf
-
transientOf
-
transientOf
-
union
- Specified by:
union
in interfaceSetMultimap.Immutable<K,
V>
-
inverseMap
- Specified by:
inverseMap
in interfaceSetMultimap.Immutable<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>
-
valueIterator
- Specified by:
valueIterator
in interfaceSetMultimap<K,
V> - Specified by:
valueIterator
in classAbstractTrieSetMultimap<K,
V, Set.Immutable<V>, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V>>
-
isTransientSupported
public boolean isTransientSupported()- Specified by:
isTransientSupported
in interfaceSetMultimap.Immutable<K,
V>
-
asTransient
- Specified by:
asTransient
in interfaceSetMultimap.Immutable<K,
V>
-