public class BTreeMutatingTraverser
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected jetbrains.exodus.tree.btree.BasePage |
currentNode |
protected int |
currentPos |
protected @NotNull BTreeMutable |
mainTree |
protected jetbrains.exodus.tree.btree.ILeafNode |
node |
protected @NotNull jetbrains.exodus.tree.btree.TreePos[] |
stack |
protected int |
top |
| Modifier | Constructor and Description |
|---|---|
protected |
BTreeMutatingTraverser(@NotNull BTreeMutable mainTree) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
canMoveDown() |
boolean |
canMoveLeft() |
boolean |
canMoveRight() |
boolean |
canMoveTo(int index) |
boolean |
canMoveUp() |
int |
compareCurrent(@NotNull jetbrains.exodus.ByteIterable key) |
static @NotNull BTreeMutatingTraverser |
create(@NotNull BTreeBase mainTree) |
protected jetbrains.exodus.tree.btree.BasePage |
getChildForMoveDown() |
long |
getCurrentAddress() |
@NotNull jetbrains.exodus.ByteIterable |
getKey() |
@NotNull BTreeBase |
getTree() |
@NotNull jetbrains.exodus.ByteIterable |
getValue() |
protected jetbrains.exodus.tree.btree.ILeafNode |
handleLeaf(jetbrains.exodus.tree.btree.BaseLeafNode leaf) |
protected jetbrains.exodus.tree.btree.ILeafNode |
handleLeafL(jetbrains.exodus.tree.btree.BaseLeafNode leaf) |
protected jetbrains.exodus.tree.btree.ILeafNode |
handleLeafR(jetbrains.exodus.tree.btree.BaseLeafNode leaf) |
boolean |
hasValue() |
void |
init(boolean left) |
protected boolean |
isDup() |
boolean |
isNotEmpty() |
@NotNull INode |
moveDown() |
@NotNull INode |
moveDownToLast() |
@NotNull INode |
moveLeft() |
@NotNull INode |
moveRight() |
boolean |
moveTo(jetbrains.exodus.ByteIterable key,
@Nullable jetbrains.exodus.ByteIterable value) |
void |
moveTo(int index) |
boolean |
moveToRange(jetbrains.exodus.ByteIterable key,
@Nullable jetbrains.exodus.ByteIterable value) |
void |
moveUp() |
protected jetbrains.exodus.tree.btree.ILeafNode |
pushChild(@NotNull jetbrains.exodus.tree.btree.TreePos topPos,
@NotNull jetbrains.exodus.tree.btree.BasePage child,
int pos) |
void |
reset(@NotNull MutableTreeRoot root) |
protected void |
setAt(int pos,
@NotNull jetbrains.exodus.tree.btree.TreePos treePos) |
@NotNull protected final @NotNull BTreeMutable mainTree
@NotNull protected @NotNull jetbrains.exodus.tree.btree.TreePos[] stack
protected int top
protected jetbrains.exodus.tree.btree.BasePage currentNode
protected jetbrains.exodus.tree.btree.ILeafNode node
protected int currentPos
protected BTreeMutatingTraverser(@NotNull
@NotNull BTreeMutable mainTree)
protected jetbrains.exodus.tree.btree.ILeafNode pushChild(@NotNull
@NotNull jetbrains.exodus.tree.btree.TreePos topPos,
@NotNull
@NotNull jetbrains.exodus.tree.btree.BasePage child,
int pos)
@NotNull public static @NotNull BTreeMutatingTraverser create(@NotNull @NotNull BTreeBase mainTree)
public void init(boolean left)
init in interface TreeTraverserpublic boolean isNotEmpty()
isNotEmpty in interface TreeTraverser@NotNull public @NotNull jetbrains.exodus.ByteIterable getKey()
getKey in interface TreeTraverser@NotNull public @NotNull jetbrains.exodus.ByteIterable getValue()
getValue in interface TreeTraverserpublic boolean hasValue()
hasValue in interface TreeTraverser@NotNull public @NotNull INode moveDown()
moveDown in interface TreeTraverser@NotNull public @NotNull INode moveDownToLast()
moveDownToLast in interface TreeTraverserprotected jetbrains.exodus.tree.btree.BasePage getChildForMoveDown()
protected jetbrains.exodus.tree.btree.ILeafNode handleLeaf(jetbrains.exodus.tree.btree.BaseLeafNode leaf)
protected void setAt(int pos,
@NotNull
@NotNull jetbrains.exodus.tree.btree.TreePos treePos)
public void moveUp()
moveUp in interface TreeTraverserpublic int compareCurrent(@NotNull
@NotNull jetbrains.exodus.ByteIterable key)
compareCurrent in interface TreeTraverserpublic void moveTo(int index)
public boolean canMoveTo(int index)
public boolean canMoveRight()
canMoveRight in interface TreeTraverser@NotNull public @NotNull INode moveRight()
moveRight in interface TreeTraverserprotected jetbrains.exodus.tree.btree.ILeafNode handleLeafR(jetbrains.exodus.tree.btree.BaseLeafNode leaf)
protected jetbrains.exodus.tree.btree.ILeafNode handleLeafL(jetbrains.exodus.tree.btree.BaseLeafNode leaf)
public boolean canMoveLeft()
canMoveLeft in interface TreeTraverser@NotNull public @NotNull INode moveLeft()
moveLeft in interface TreeTraverserpublic long getCurrentAddress()
getCurrentAddress in interface TreeTraverserpublic boolean canMoveUp()
canMoveUp in interface TreeTraverserpublic boolean canMoveDown()
canMoveDown in interface TreeTraverserpublic void reset(@NotNull
@NotNull MutableTreeRoot root)
reset in interface TreeTraverserpublic boolean moveTo(jetbrains.exodus.ByteIterable key,
@Nullable
@Nullable jetbrains.exodus.ByteIterable value)
moveTo in interface TreeTraverserpublic boolean moveToRange(jetbrains.exodus.ByteIterable key,
@Nullable
@Nullable jetbrains.exodus.ByteIterable value)
moveToRange in interface TreeTraverser@NotNull public @NotNull BTreeBase getTree()
getTree in interface TreeTraverserprotected boolean isDup()