Class PersistentTrieMap.HashCollisionMapNode<K,V>
java.lang.Object
io.usethesource.capsule.core.PersistentTrieMap.AbstractMapNode<K,V>
io.usethesource.capsule.core.PersistentTrieMap.CompactMapNode<K,V>
io.usethesource.capsule.core.PersistentTrieMap.HashCollisionMapNode<K,V>
- All Implemented Interfaces:
MapNode<K, V, PersistentTrieMap.AbstractMapNode<K,V>>, Node, Serializable
- Enclosing class:
PersistentTrieMap<K,V>
private static final class PersistentTrieMap.HashCollisionMapNode<K,V>
extends PersistentTrieMap.CompactMapNode<K,V>
-
Field Summary
FieldsFields inherited from class PersistentTrieMap.CompactMapNode
BIT_PARTITION_MASK, BIT_PARTITION_SIZE, HASH_CODE_LENGTHFields inherited from class PersistentTrieMap.AbstractMapNode
TUPLE_LENGTHFields inherited from interface Node
SIZE_EMPTY, SIZE_MORE_THAN_ONE, SIZE_ONE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) intarity()The arity of this trie node (i.e.booleancontainsKey(K key, int keyHash, int shift, EqualityComparator<Object> cmp) (package private) PersistentTrieMap.CompactMapNode<K, V> copyAndInsertValue(AtomicReference<Thread> mutator, int bitpos, K key, V val) (package private) PersistentTrieMap.CompactMapNode<K, V> copyAndMigrateFromInlineToNode(AtomicReference<Thread> mutator, int bitpos, PersistentTrieMap.AbstractMapNode<K, V> node) (package private) PersistentTrieMap.CompactMapNode<K, V> copyAndMigrateFromNodeToInline(AtomicReference<Thread> mutator, int bitpos, PersistentTrieMap.AbstractMapNode<K, V> node) (package private) PersistentTrieMap.CompactMapNode<K, V> copyAndRemoveValue(AtomicReference<Thread> mutator, int bitpos) (package private) PersistentTrieMap.CompactMapNode<K, V> copyAndSetNode(AtomicReference<Thread> mutator, int bitpos, PersistentTrieMap.AbstractMapNode<K, V> node) (package private) PersistentTrieMap.CompactMapNode<K, V> copyAndSetValue(AtomicReference<Thread> mutator, int bitpos, V val) (package private) intdataMap()booleanbooleanequivalent(Object other, EqualityComparator<Object> cmp) findByKey(K key, int keyHash, int shift, EqualityComparator<Object> cmp) (package private) KgetKey(int index) getKeyValueEntry(int index) getNode(int index) (package private) ObjectgetSlot(int index) (package private) VgetValue(int index) inthashCode()(package private) booleanhasNodes()(package private) boolean(package private) booleanhasSlots()(package private) int(package private) intnodeMap()(package private) intremoved(AtomicReference<Thread> mutator, K key, int keyHash, int shift, MapNodeResult<K, V> details, EqualityComparator<Object> cmp) byteAbstract predicate over a node's size.(package private) intupdated(AtomicReference<Thread> mutator, K key, V val, int keyHash, int shift, MapNodeResult<K, V> details, EqualityComparator<Object> cmp) Methods inherited from class PersistentTrieMap.CompactMapNode
bitpos, dataIndex, index, index, mask, mergeTwoKeyValPairs, nodeAt, nodeIndex, nodeInvariant, nodeOf, nodeOf, nodeOf, recoverMask, toStringMethods inherited from class PersistentTrieMap.AbstractMapNode
dataArray, isAllowedToEdit, nodeIterator, size
-
Field Details
-
keys
-
vals
-
hash
private final int hash
-
-
Constructor Details
-
HashCollisionMapNode
-
-
Method Details
-
nodeArray
-
containsKey
- Specified by:
containsKeyin interfaceMapNode<K, V, PersistentTrieMap.AbstractMapNode<K,V>> - Overrides:
containsKeyin classPersistentTrieMap.CompactMapNode<K,V>
-
findByKey
-
updated
public PersistentTrieMap.AbstractMapNode<K,V> updated(AtomicReference<Thread> mutator, K key, V val, int keyHash, int shift, MapNodeResult<K, V> details, EqualityComparator<Object> cmp) -
removed
public PersistentTrieMap.AbstractMapNode<K,V> removed(AtomicReference<Thread> mutator, K key, int keyHash, int shift, MapNodeResult<K, V> details, EqualityComparator<Object> cmp) -
hasPayload
boolean hasPayload()- Specified by:
hasPayloadin classPersistentTrieMap.AbstractMapNode<K,V>
-
payloadArity
int payloadArity()- Specified by:
payloadArityin classPersistentTrieMap.AbstractMapNode<K,V>
-
hasNodes
boolean hasNodes()- Specified by:
hasNodesin classPersistentTrieMap.AbstractMapNode<K,V>
-
nodeArity
int nodeArity()- Specified by:
nodeArityin classPersistentTrieMap.AbstractMapNode<K,V>
-
arity
int arity()Description copied from class:PersistentTrieMap.AbstractMapNodeThe arity of this trie node (i.e. number of values and nodes stored on this level).- Overrides:
arityin classPersistentTrieMap.AbstractMapNode<K,V> - Returns:
- sum of nodes and values stored within
-
sizePredicate
-
getKey
- Specified by:
getKeyin classPersistentTrieMap.AbstractMapNode<K,V>
-
getValue
- Specified by:
getValuein classPersistentTrieMap.AbstractMapNode<K,V>
-
getKeyValueEntry
- Specified by:
getKeyValueEntryin classPersistentTrieMap.AbstractMapNode<K,V>
-
getNode
- Specified by:
getNodein classPersistentTrieMap.CompactMapNode<K,V>
-
getSlot
- Specified by:
getSlotin classPersistentTrieMap.AbstractMapNode<K,V>
-
hasSlots
boolean hasSlots()- Specified by:
hasSlotsin classPersistentTrieMap.AbstractMapNode<K,V>
-
slotArity
int slotArity()- Specified by:
slotArityin classPersistentTrieMap.AbstractMapNode<K,V>
-
hashCode
-
equals
-
equivalent
-
copyAndSetValue
PersistentTrieMap.CompactMapNode<K,V> copyAndSetValue(AtomicReference<Thread> mutator, int bitpos, V val) - Specified by:
copyAndSetValuein classPersistentTrieMap.CompactMapNode<K,V>
-
copyAndInsertValue
PersistentTrieMap.CompactMapNode<K,V> copyAndInsertValue(AtomicReference<Thread> mutator, int bitpos, K key, V val) - Specified by:
copyAndInsertValuein classPersistentTrieMap.CompactMapNode<K,V>
-
copyAndRemoveValue
PersistentTrieMap.CompactMapNode<K,V> copyAndRemoveValue(AtomicReference<Thread> mutator, int bitpos) - Specified by:
copyAndRemoveValuein classPersistentTrieMap.CompactMapNode<K,V>
-
copyAndSetNode
PersistentTrieMap.CompactMapNode<K,V> copyAndSetNode(AtomicReference<Thread> mutator, int bitpos, PersistentTrieMap.AbstractMapNode<K, V> node) - Specified by:
copyAndSetNodein classPersistentTrieMap.CompactMapNode<K,V>
-
copyAndMigrateFromInlineToNode
PersistentTrieMap.CompactMapNode<K,V> copyAndMigrateFromInlineToNode(AtomicReference<Thread> mutator, int bitpos, PersistentTrieMap.AbstractMapNode<K, V> node) - Specified by:
copyAndMigrateFromInlineToNodein classPersistentTrieMap.CompactMapNode<K,V>
-
copyAndMigrateFromNodeToInline
PersistentTrieMap.CompactMapNode<K,V> copyAndMigrateFromNodeToInline(AtomicReference<Thread> mutator, int bitpos, PersistentTrieMap.AbstractMapNode<K, V> node) - Specified by:
copyAndMigrateFromNodeToInlinein classPersistentTrieMap.CompactMapNode<K,V>
-
nodeMap
int nodeMap()- Specified by:
nodeMapin classPersistentTrieMap.CompactMapNode<K,V>
-
dataMap
int dataMap()- Specified by:
dataMapin classPersistentTrieMap.CompactMapNode<K,V>
-