Class 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 Detail

      • stack

        protected org.roaringbitmap.art.AbstractShuttle.NodeEntry[] stack
      • depth

        protected int depth
      • hasRun

        protected boolean hasRun
      • art

        protected Art art
    • 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 interface Shuttle
      • moveToNextLeaf

        public boolean moveToNextLeaf()
        Specified by:
        moveToNextLeaf in interface Shuttle
        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 interface Shuttle
        Returns:
        the current visiting LeafNode
      • remove

        public void remove()
        Description copied from interface: Shuttle
        remove the current visiting LeafNode and its corresponding value container
        Specified by:
        remove in interface Shuttle
      • boundaryNodePosition

        protected abstract int boundaryNodePosition​(Node node)