Package org.roaringbitmap.art
Class AbstractShuttle
- java.lang.Object
-
- org.roaringbitmap.art.AbstractShuttle
-
- All Implemented Interfaces:
Shuttle
- Direct Known Subclasses:
BackwardShuttle
,ForwardShuttle
public abstract class AbstractShuttle extends java.lang.Object implements Shuttle
visit the art tree's space through a stack which records the deep first visiting paths.
-
-
Field Summary
Fields Modifier and Type Field Description protected Art
art
protected Containers
containers
protected int
depth
protected boolean
hasRun
protected static int
MAX_DEPTH
protected org.roaringbitmap.art.AbstractShuttle.NodeEntry[]
stack
-
Constructor Summary
Constructors Constructor Description AbstractShuttle(Art art, Containers containers)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract int
boundaryNodePosition(Node node)
LeafNode
getCurrentLeafNode()
get the current LeafNode after calling the method moveToNextLeafvoid
initShuttle()
should be called firstly before calling other methodsboolean
moveToNextLeaf()
void
remove()
remove the current visiting LeafNode and its corresponding value containerprotected abstract int
visitedNodeNextPosition(Node node, int pos)
-
-
-
Field Detail
-
MAX_DEPTH
protected static final int MAX_DEPTH
- See Also:
- Constant Field Values
-
stack
protected org.roaringbitmap.art.AbstractShuttle.NodeEntry[] stack
-
depth
protected int depth
-
hasRun
protected boolean hasRun
-
art
protected Art art
-
containers
protected Containers containers
-
-
Constructor Detail
-
AbstractShuttle
public AbstractShuttle(Art art, Containers containers)
-
-
Method Detail
-
initShuttle
public void initShuttle()
Description copied from interface:Shuttle
should be called firstly before calling other methods- Specified by:
initShuttle
in interfaceShuttle
-
moveToNextLeaf
public boolean moveToNextLeaf()
- Specified by:
moveToNextLeaf
in interfaceShuttle
- Returns:
- true: has a LeafNode ,false: has no LeafNode
-
visitedNodeNextPosition
protected abstract int visitedNodeNextPosition(Node node, int pos)
-
getCurrentLeafNode
public LeafNode getCurrentLeafNode()
Description copied from interface:Shuttle
get the current LeafNode after calling the method moveToNextLeaf- Specified by:
getCurrentLeafNode
in interfaceShuttle
- Returns:
- the current visiting LeafNode
-
remove
public void remove()
Description copied from interface:Shuttle
remove the current visiting LeafNode and its corresponding value container
-
boundaryNodePosition
protected abstract int boundaryNodePosition(Node node)
-
-