Package io.usethesource.capsule.core
Class AbstractPersistentTrieSetMultimap<K,V,C extends java.lang.Iterable<V>,R extends MultimapNode<K,V,C,R>>
- java.lang.Object
-
- io.usethesource.capsule.core.AbstractTrieSetMultimap<K,V,C,R>
-
- io.usethesource.capsule.core.AbstractPersistentTrieSetMultimap<K,V,C,R>
-
- All Implemented Interfaces:
SetMultimap<K,V>
,SetMultimap.Immutable<K,V>
,SetMultimapEq<K,V>
,SetMultimapEq.Immutable<K,V>
,java.io.Serializable
- Direct Known Subclasses:
PersistentTrieSetMultimap
public abstract class AbstractPersistentTrieSetMultimap<K,V,C extends java.lang.Iterable<V>,R extends MultimapNode<K,V,C,R>> extends AbstractTrieSetMultimap<K,V,C,R> implements SetMultimap.Immutable<K,V>, java.io.Serializable
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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 protected int
cachedKeySetHashCode
protected int
cachedKeySetSize
protected int
cachedSize
protected static boolean
DEBUG
protected R
rootNode
private static long
serialVersionUID
-
Fields inherited from class io.usethesource.capsule.core.AbstractTrieSetMultimap
cmp
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractPersistentTrieSetMultimap(EqualityComparator<java.lang.Object> cmp, R rootNode, int cachedSize, int keySetHashCode, int keySetSize)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description SetMultimap.Immutable<K,V>
__insert(K key, Set.Immutable<V> valueCollection)
SetMultimap.Immutable<K,V>
__insert(K key, V value)
SetMultimap.Immutable<K,V>
__put(K key, Set.Immutable<V> valueCollection)
SetMultimap.Immutable<K,V>
__put(K key, V value)
SetMultimap.Immutable<K,V>
__remove(K key)
SetMultimap.Immutable<K,V>
__remove(K key, V value)
(package private) int
getCachedKeySetHashCode()
(package private) int
getCachedKeySetSize()
(package private) int
getCachedSize()
(package private) R
getRootNode()
protected abstract SetMultimap.Immutable<K,V>
wrap(EqualityComparator<java.lang.Object> cmp, R rootNode, int cachedSize, int cachedKeySetHashCode, int cachedKeySetSize)
-
Methods inherited from class io.usethesource.capsule.core.AbstractTrieSetMultimap
collectionToInternalFormat, containsEntry, containsKey, containsValue, entryIterator, entrySet, equals, get, getNodeCount, hashCode, hashCode, internalFormatToCollection, keyIterator, keySet, keySetHashCode, keySetSize, nativeEntryIterator, nodeIterator, size, toString, transformHashCode, tupleIterator, valueIterator, valueIterator, values, valueToTemporaryBox
-
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, isEmpty, keyIterator, keySet, nativeEntryIterator, size, sizeDistinct, tupleIterator, tupleStream, valueIterator, values
-
Methods inherited from interface io.usethesource.capsule.SetMultimap.Immutable
__insert, asTransient, complement, intersect, inverseMap, isTransientSupported, 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 Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
DEBUG
protected static final boolean DEBUG
- See Also:
- Constant Field Values
-
cachedSize
protected final int cachedSize
-
cachedKeySetSize
protected final int cachedKeySetSize
-
cachedKeySetHashCode
protected final int cachedKeySetHashCode
-
-
Constructor Detail
-
AbstractPersistentTrieSetMultimap
protected AbstractPersistentTrieSetMultimap(EqualityComparator<java.lang.Object> cmp, R rootNode, int cachedSize, int keySetHashCode, int keySetSize)
-
-
Method Detail
-
getRootNode
final R getRootNode()
- Specified by:
getRootNode
in classAbstractTrieSetMultimap<K,V,C extends java.lang.Iterable<V>,R extends MultimapNode<K,V,C,R>>
-
getCachedSize
final int getCachedSize()
- Specified by:
getCachedSize
in classAbstractTrieSetMultimap<K,V,C extends java.lang.Iterable<V>,R extends MultimapNode<K,V,C,R>>
-
getCachedKeySetHashCode
final int getCachedKeySetHashCode()
- Specified by:
getCachedKeySetHashCode
in classAbstractTrieSetMultimap<K,V,C extends java.lang.Iterable<V>,R extends MultimapNode<K,V,C,R>>
-
getCachedKeySetSize
final int getCachedKeySetSize()
- Specified by:
getCachedKeySetSize
in classAbstractTrieSetMultimap<K,V,C extends java.lang.Iterable<V>,R extends MultimapNode<K,V,C,R>>
-
wrap
protected abstract SetMultimap.Immutable<K,V> wrap(EqualityComparator<java.lang.Object> cmp, R rootNode, int cachedSize, int cachedKeySetHashCode, int cachedKeySetSize)
-
__insert
public final SetMultimap.Immutable<K,V> __insert(K key, V value)
- Specified by:
__insert
in interfaceSetMultimap.Immutable<K,V>
-
__insert
public final SetMultimap.Immutable<K,V> __insert(K key, Set.Immutable<V> valueCollection)
- Specified by:
__insert
in interfaceSetMultimap.Immutable<K,V>
-
__put
public final SetMultimap.Immutable<K,V> __put(K key, V value)
- Specified by:
__put
in interfaceSetMultimap.Immutable<K,V>
-
__put
public final SetMultimap.Immutable<K,V> __put(K key, Set.Immutable<V> valueCollection)
- Specified by:
__put
in interfaceSetMultimap.Immutable<K,V>
-
__remove
public final SetMultimap.Immutable<K,V> __remove(K key, V value)
- Specified by:
__remove
in interfaceSetMultimap.Immutable<K,V>
-
__remove
public final SetMultimap.Immutable<K,V> __remove(K key)
- Specified by:
__remove
in interfaceSetMultimap.Immutable<K,V>
-
-