public class BTreeMutatingTraverserDup
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
protected jetbrains.exodus.tree.btree.BasePage |
currentNode |
protected int |
currentPos |
protected boolean |
inDupTree |
protected @NotNull BTreeMutable |
mainTree |
protected jetbrains.exodus.tree.btree.ILeafNode |
node |
protected @NotNull jetbrains.exodus.tree.btree.TreePos[] |
stack |
protected int |
top |
| 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 BTreeMutatingTraverserDup |
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 void |
popUntilDupLeft() |
protected void |
popUntilDupRight() |
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
protected boolean inDupTree
@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 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 BTreeMutatingTraverserDup create(@NotNull @NotNull BTreeBase mainTree)
public boolean canMoveDown()
canMoveDown in interface TreeTraverserprotected jetbrains.exodus.tree.btree.BasePage getChildForMoveDown()
public void moveUp()
moveUp in interface TreeTraverserprotected jetbrains.exodus.tree.btree.ILeafNode handleLeaf(jetbrains.exodus.tree.btree.BaseLeafNode leaf)
protected 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)
protected void popUntilDupRight()
protected void popUntilDupLeft()
protected boolean isDup()
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 void setAt(int pos,
@NotNull
@NotNull jetbrains.exodus.tree.btree.TreePos treePos)
public 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 TreeTraverserpublic 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 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 TreeTraverser