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 classprotected static classprivate static final classprotected static classprotected static classprivate static final class(package private) static final classNested 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 PersistentTrieSetMultimapprivate static final longFields inherited from class io.usethesource.capsule.core.AbstractPersistentTrieSetMultimap
cachedKeySetHashCode, cachedKeySetSize, cachedSize, DEBUG, rootNodeFields 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) booleanisEmpty()booleanstatic 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) intsize()Return the number of key-value pairs contained in this multimap.intstatic 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, getRootNodeMethods 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, valuesMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface io.usethesource.capsule.SetMultimap
containsEntry, containsKey, containsValue, entryIterator, entrySet, equals, get, hashCode, keyIterator, keySet, nativeEntryIterator, tupleIterator, tupleStream, valuesMethods inherited from interface io.usethesource.capsule.SetMultimap.Immutable
__insert, complement, intersectMethods inherited from interface io.usethesource.capsule.SetMultimapEq
containsEntryEquivalent, containsKeyEquivalent, containsValueEquivalent, getEquivalentMethods 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:
valueToTemporaryBoxin classAbstractTrieSetMultimap<K,V, Set.Immutable<V>, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V>>
-
collectionToInternalFormat
- Specified by:
collectionToInternalFormatin classAbstractTrieSetMultimap<K,V, Set.Immutable<V>, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V>>
-
internalFormatToCollection
- Specified by:
internalFormatToCollectionin 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:
wrapin classAbstractPersistentTrieSetMultimap<K,V, Set.Immutable<V>, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V>>
-
of
-
of
-
of
-
of
-
transientOf
-
transientOf
-
transientOf
-
union
- Specified by:
unionin interfaceSetMultimap.Immutable<K,V>
-
inverseMap
- Specified by:
inverseMapin interfaceSetMultimap.Immutable<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>
-
valueIterator
- Specified by:
valueIteratorin interfaceSetMultimap<K,V> - Specified by:
valueIteratorin classAbstractTrieSetMultimap<K,V, Set.Immutable<V>, PersistentTrieSetMultimap.AbstractSetMultimapNode<K, V>>
-
isTransientSupported
public boolean isTransientSupported()- Specified by:
isTransientSupportedin interfaceSetMultimap.Immutable<K,V>
-
asTransient
- Specified by:
asTransientin interfaceSetMultimap.Immutable<K,V>
-