org.javimmutable.collections.array.trie32
Class TrieNode<T>

java.lang.Object
  extended by org.javimmutable.collections.array.trie32.TrieNode<T>
Direct Known Subclasses:
EmptyTrieNode, FullBranchTrieNode, LeafTrieNode, MultiBranchTrieNode, SingleBranchTrieNode

@Immutable
public abstract class TrieNode<T>
extends Object


Field Summary
static int ROOT_SHIFT
           
 
Constructor Summary
TrieNode()
           
 
Method Summary
abstract  Cursor<JImmutableMap.Entry<Integer,T>> anyOrderEntryCursor()
           
abstract
<K,V> Cursor<JImmutableMap.Entry<K,V>>
anyOrderEntryCursor(Transforms<T,K,V> transforms)
           
abstract  Cursor<T> anyOrderValueCursor()
           
abstract
<K,V> TrieNode<T>
assign(int shift, int index, K key, V value, Transforms<T,K,V> transforms, MutableDelta sizeDelta)
           
abstract  TrieNode<T> assign(int shift, int index, T value, MutableDelta sizeDelta)
           
abstract
<K,V> TrieNode<T>
delete(int shift, int index, K key, Transforms<T,K,V> transforms, MutableDelta sizeDelta)
           
abstract  TrieNode<T> delete(int shift, int index, MutableDelta sizeDelta)
           
abstract  Holder<T> find(int shift, int index)
           
abstract
<K,V> Holder<V>
find(int shift, int index, K key, Transforms<T,K,V> transforms)
           
static
<T> TrieNode<T>
fromSource(int index, Indexed<? extends T> source, int offset, int limit)
           
abstract  int getShift()
           
abstract
<K,V> V
getValueOr(int shift, int index, K key, Transforms<T,K,V> transforms, V defaultValue)
           
abstract  T getValueOr(int shift, int index, T defaultValue)
           
abstract  boolean isEmpty()
           
abstract  boolean isLeaf()
           
static
<T> TrieNode<T>
of()
           
 TrieNode<T> paddedToMinimumDepthForShift(int shift)
           
static int shiftForIndex(int index)
           
 Cursor<JImmutableMap.Entry<Integer,T>> signedOrderEntryCursor()
           
<K,V> Cursor<JImmutableMap.Entry<K,V>>
signedOrderEntryCursor(Transforms<T,K,V> transforms)
           
 Cursor<T> signedOrderValueCursor()
           
 TrieNode<T> trimmedToMinimumDepth()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ROOT_SHIFT

public static final int ROOT_SHIFT
See Also:
Constant Field Values
Constructor Detail

TrieNode

public TrieNode()
Method Detail

isEmpty

public abstract boolean isEmpty()

getValueOr

public abstract T getValueOr(int shift,
                             int index,
                             T defaultValue)

getValueOr

public abstract <K,V> V getValueOr(int shift,
                                   int index,
                                   K key,
                                   Transforms<T,K,V> transforms,
                                   V defaultValue)

find

public abstract Holder<T> find(int shift,
                               int index)

find

public abstract <K,V> Holder<V> find(int shift,
                                     int index,
                                     K key,
                                     Transforms<T,K,V> transforms)

assign

public abstract TrieNode<T> assign(int shift,
                                   int index,
                                   T value,
                                   MutableDelta sizeDelta)

assign

public abstract <K,V> TrieNode<T> assign(int shift,
                                         int index,
                                         K key,
                                         V value,
                                         Transforms<T,K,V> transforms,
                                         MutableDelta sizeDelta)

delete

public abstract TrieNode<T> delete(int shift,
                                   int index,
                                   MutableDelta sizeDelta)

delete

public abstract <K,V> TrieNode<T> delete(int shift,
                                         int index,
                                         K key,
                                         Transforms<T,K,V> transforms,
                                         MutableDelta sizeDelta)

getShift

public abstract int getShift()

isLeaf

public abstract boolean isLeaf()

trimmedToMinimumDepth

public TrieNode<T> trimmedToMinimumDepth()

paddedToMinimumDepthForShift

public TrieNode<T> paddedToMinimumDepthForShift(int shift)

signedOrderEntryCursor

public Cursor<JImmutableMap.Entry<Integer,T>> signedOrderEntryCursor()

signedOrderEntryCursor

public <K,V> Cursor<JImmutableMap.Entry<K,V>> signedOrderEntryCursor(Transforms<T,K,V> transforms)

anyOrderEntryCursor

public abstract Cursor<JImmutableMap.Entry<Integer,T>> anyOrderEntryCursor()

anyOrderEntryCursor

public abstract <K,V> Cursor<JImmutableMap.Entry<K,V>> anyOrderEntryCursor(Transforms<T,K,V> transforms)

signedOrderValueCursor

public Cursor<T> signedOrderValueCursor()

anyOrderValueCursor

public abstract Cursor<T> anyOrderValueCursor()

of

public static <T> TrieNode<T> of()

fromSource

public static <T> TrieNode<T> fromSource(int index,
                                         Indexed<? extends T> source,
                                         int offset,
                                         int limit)

shiftForIndex

public static int shiftForIndex(int index)


Copyright © 2014 Burton Computer Corporation. All rights reserved.