Package io.usethesource.capsule.core
Class PersistentTrieSetMultimap<K,V>
- java.lang.Object
-
- io.usethesource.capsule.core.AbstractTrieSetMultimap<K,V,C,R>
-
- 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>
,java.io.Serializable
public class PersistentTrieSetMultimap<K,V> extends AbstractPersistentTrieSetMultimap<K,V,Set.Immutable<V>,PersistentTrieSetMultimap.AbstractSetMultimapNode<K,V>> implements java.io.Serializable
Persistent trie-based set multi-map implementing the HCHAMP encoding.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
PersistentTrieSetMultimap.AbstractHashCollisionNode<K,V>
protected static class
PersistentTrieSetMultimap.AbstractSetMultimapNode<K,V>
private static class
PersistentTrieSetMultimap.BitmapIndexedSetMultimapNode<K,V>
protected static class
PersistentTrieSetMultimap.CompactMixedSetMultimapNode<K,V>
protected static class
PersistentTrieSetMultimap.CompactSetMultimapNode<K,V>
private static class
PersistentTrieSetMultimap.HashCollisionNode<K,V>
(package private) static class
PersistentTrieSetMultimap.TransientTrieSetMultimap<K,V>
-
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 java.lang.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
Fields Modifier and Type Field Description private static PersistentTrieSetMultimap
EMPTY_SETMULTIMAP
private static long
serialVersionUID
-
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
Constructors Constructor Description PersistentTrieSetMultimap(EqualityComparator<java.lang.Object> cmp, PersistentTrieSetMultimap.AbstractSetMultimapNode<K,V> rootNode, int cachedSize, int keySetHashCode, int keySetSize)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SetMultimap.Transient<K,V>
asTransient()
protected Set.Immutable<V>
collectionToInternalFormat(Set.Immutable<V> valueCollection)
protected Set.Immutable<V>
internalFormatToCollection(Set.Immutable<V> values)
SetMultimap.Immutable<V,K>
inverseMap()
boolean
isEmpty()
boolean
isTransientSupported()
static <K,V>
SetMultimap.Immutable<K,V>of()
static <K,V>
SetMultimap.Immutable<K,V>of(EqualityComparator<java.lang.Object> cmp)
static <K,V>
SetMultimap.Immutable<K,V>of(K key, V... values)
static <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
sizeDistinct()
static <K,V>
SetMultimap.Transient<K,V>transientOf()
static <K,V>
SetMultimap.Transient<K,V>transientOf(EqualityComparator<java.lang.Object> cmp)
static <K,V>
SetMultimap.Transient<K,V>transientOf(K key, V... values)
SetMultimap.Immutable<K,V>
union(SetMultimap<? extends K,? extends V> setMultimap)
java.util.Iterator<V>
valueIterator()
protected Set.Immutable<V>
valueToTemporaryBox(V value)
protected PersistentTrieSetMultimap<K,V>
wrap(EqualityComparator<java.lang.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 Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
EMPTY_SETMULTIMAP
private static final PersistentTrieSetMultimap EMPTY_SETMULTIMAP
-
-
Constructor Detail
-
PersistentTrieSetMultimap
PersistentTrieSetMultimap(EqualityComparator<java.lang.Object> cmp, PersistentTrieSetMultimap.AbstractSetMultimapNode<K,V> rootNode, int cachedSize, int keySetHashCode, int keySetSize)
-
-
Method Detail
-
valueToTemporaryBox
protected Set.Immutable<V> valueToTemporaryBox(V value)
- Specified by:
valueToTemporaryBox
in classAbstractTrieSetMultimap<K,V,Set.Immutable<V>,PersistentTrieSetMultimap.AbstractSetMultimapNode<K,V>>
-
collectionToInternalFormat
protected final Set.Immutable<V> collectionToInternalFormat(Set.Immutable<V> valueCollection)
- Specified by:
collectionToInternalFormat
in classAbstractTrieSetMultimap<K,V,Set.Immutable<V>,PersistentTrieSetMultimap.AbstractSetMultimapNode<K,V>>
-
internalFormatToCollection
protected final Set.Immutable<V> internalFormatToCollection(Set.Immutable<V> values)
- Specified by:
internalFormatToCollection
in classAbstractTrieSetMultimap<K,V,Set.Immutable<V>,PersistentTrieSetMultimap.AbstractSetMultimapNode<K,V>>
-
wrap
protected final PersistentTrieSetMultimap<K,V> wrap(EqualityComparator<java.lang.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
public static final <K,V> SetMultimap.Immutable<K,V> of()
-
of
public static final <K,V> SetMultimap.Immutable<K,V> of(EqualityComparator<java.lang.Object> cmp)
-
of
public static final <K,V> SetMultimap.Immutable<K,V> of(K key, V... values)
-
of
public static final <K,V> SetMultimap.Immutable<K,V> of(K key0, V value0, K key1, V value1)
-
transientOf
public static final <K,V> SetMultimap.Transient<K,V> transientOf()
-
transientOf
public static final <K,V> SetMultimap.Transient<K,V> transientOf(EqualityComparator<java.lang.Object> cmp)
-
transientOf
public static final <K,V> SetMultimap.Transient<K,V> transientOf(K key, V... values)
-
union
public SetMultimap.Immutable<K,V> union(SetMultimap<? extends K,? extends V> setMultimap)
- Specified by:
union
in interfaceSetMultimap.Immutable<K,V>
-
inverseMap
public SetMultimap.Immutable<V,K> 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
public java.util.Iterator<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
public SetMultimap.Transient<K,V> asTransient()
- Specified by:
asTransient
in interfaceSetMultimap.Immutable<K,V>
-
-