org.apache.lucene.util.bkd

## Class BKDReader.IndexTree

- java.lang.Object
- - org.apache.lucene.util.bkd.BKDReader.IndexTree

All Implemented Interfaces:
  Cloneable

Enclosing class:
  BKDReader

    public class BKDReader.IndexTree
    extends Object
    implements Cloneable

Used to walk the in-heap index. The format takes advantage of the limited access pattern to the BKD tree at search time, i.e. starting at the root node and recursing downwards one child at a time.

NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

### Method Summary

All Methods Instance Methods Concrete Methods
`BKDReader.IndexTree` `clone()` Clone, but you are not allowed to pop up past the point where the clone happened.
`long` `getLeafBlockFP()` Only valid after pushLeft or pushRight, not pop!
`int` `getNodeID()`
`int` `getNumLeaves()` Return the number of leaves below the current node.
`int` `getSplitDim()` Only valid after pushLeft or pushRight, not pop!
`BytesRef` `getSplitDimValue()` Only valid after pushLeft or pushRight, not pop!
`byte[]` `getSplitPackedValue()`
`boolean` `isLeafNode()`
`boolean` `nodeExists()`
`void` `pop()`
`void` `pushLeft()`
`void` `pushRight()`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### pushLeft

    public void pushLeft()

#### clone

    public BKDReader.IndexTree clone()

Clone, but you are not allowed to pop up past the point where the clone happened.

Overrides:
  `clone` in class `Object`

#### pushRight

    public void pushRight()

#### pop

    public void pop()

#### isLeafNode

    public boolean isLeafNode()

#### nodeExists

    public boolean nodeExists()

#### getNodeID

    public int getNodeID()

#### getSplitPackedValue

    public byte[] getSplitPackedValue()

#### getSplitDim

    public int getSplitDim()

Only valid after pushLeft or pushRight, not pop!

#### getSplitDimValue

    public BytesRef getSplitDimValue()

Only valid after pushLeft or pushRight, not pop!

#### getLeafBlockFP

    public long getLeafBlockFP()

Only valid after pushLeft or pushRight, not pop!

#### getNumLeaves

    public int getNumLeaves()

Return the number of leaves below the current node.