Package org.apache.lucene.codecs

# Class MutablePointTree

java.lang.Object
org.apache.lucene.codecs.MutablePointTree

All Implemented Interfaces:
  `Cloneable`, `PointValues.PointTree`

public abstract class MutablePointTree extends Object implements PointValues.PointTree
One leaf `PointValues.PointTree` whose order of points can be changed. This class is useful for codecs to optimize flush.

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

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `MutablePointTree()`
  Sole constructor.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `final PointValues.PointTree`
  `clone()`
  Clone, the current node becomes the root of the new tree.
  `abstract byte`
  `getByteAt(int i, int k)`
  Get the k-th byte of the i-th value.
  `abstract int`
  `getDocID(int i)`
  Return the doc ID of the i-th value.
  `byte[]`
  `getMaxPackedValue()`
  Return the maximum packed value of the current node.
  `byte[]`
  `getMinPackedValue()`
  Return the minimum packed value of the current node.
  `abstract void`
  `getValue(int i, BytesRef packedValue)`
  Set `packedValue` with a reference to the packed bytes of the i-th value.
  `final boolean`
  `moveToChild()`
  Move to the first child node and return `true` upon success.
  `final boolean`
  `moveToParent()`
  Move to the parent node and return `true` upon success.
  `final boolean`
  `moveToSibling()`
  Move to the next sibling node and return `true` upon success.
  `abstract void`
  `restore(int i, int j)`
  Restore values between i-th and j-th(excluding) in temporary storage into original storage.
  `abstract void`
  `save(int i, int j)`
  Save the i-th value into the j-th position in temporary storage.
  `abstract void`
  `swap(int i, int j)`
  Swap the i-th and j-th values.
  `void`
  `visitDocIDs(PointValues.IntersectVisitor visitor)`
  Visit all the docs below the current node.

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

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

  ### Methods inherited from interface org.apache.lucene.index.PointValues.PointTree

  `size, visitDocValues`

- ## Constructor Details

  - ### MutablePointTree

    protected MutablePointTree()
    Sole constructor.

- ## Method Details

  - ### getValue

    public abstract void getValue(int i, BytesRef packedValue)
    Set `packedValue` with a reference to the packed bytes of the i-th value.

  - ### getByteAt

    public abstract byte getByteAt(int i, int k)
    Get the k-th byte of the i-th value.

  - ### getDocID

    public abstract int getDocID(int i)
    Return the doc ID of the i-th value.

  - ### swap

    public abstract void swap(int i, int j)
    Swap the i-th and j-th values.

  - ### save

    public abstract void save(int i, int j)
    Save the i-th value into the j-th position in temporary storage.

  - ### restore

    public abstract void restore(int i, int j)
    Restore values between i-th and j-th(excluding) in temporary storage into original storage.

  - ### clone

    public final PointValues.PointTree clone()
    Description copied from interface: `PointValues.PointTree`
    Clone, the current node becomes the root of the new tree.
    Specified by:
      `clone` in interface `PointValues.PointTree`
    Overrides:
      `clone` in class `Object`

  - ### moveToChild

    public final boolean moveToChild()
    Description copied from interface: `PointValues.PointTree`
    Move to the first child node and return `true` upon success. Returns `false` for leaf nodes and `true` otherwise.
    Specified by:
      `moveToChild` in interface `PointValues.PointTree`

  - ### moveToSibling

    public final boolean moveToSibling()
    Description copied from interface: `PointValues.PointTree`
    Move to the next sibling node and return `true` upon success. Returns `false` if the current node has no more siblings.
    Specified by:
      `moveToSibling` in interface `PointValues.PointTree`

  - ### moveToParent

    public final boolean moveToParent()
    Description copied from interface: `PointValues.PointTree`
    Move to the parent node and return `true` upon success. Returns `false` for the root node and `true` otherwise.
    Specified by:
      `moveToParent` in interface `PointValues.PointTree`

  - ### getMinPackedValue

    public byte[] getMinPackedValue()
    Description copied from interface: `PointValues.PointTree`
    Return the minimum packed value of the current node.
    Specified by:
      `getMinPackedValue` in interface `PointValues.PointTree`

  - ### getMaxPackedValue

    public byte[] getMaxPackedValue()
    Description copied from interface: `PointValues.PointTree`
    Return the maximum packed value of the current node.
    Specified by:
      `getMaxPackedValue` in interface `PointValues.PointTree`

  - ### visitDocIDs

    public void visitDocIDs(PointValues.IntersectVisitor visitor)
    Description copied from interface: `PointValues.PointTree`
    Visit all the docs below the current node.
    Specified by:
      `visitDocIDs` in interface `PointValues.PointTree`