Package org.apache.lucene.util.bkd

## Class HeapPointWriter

- java.lang.Object
- - org.apache.lucene.util.bkd.HeapPointWriter

- All Implemented Interfaces:
    `Closeable`, `AutoCloseable`, `PointWriter`

      public final class HeapPointWriter
      extends Object
      implements PointWriter

  Utility class to write new points into in-heap arrays.
  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `HeapPointWriter​(BKDConfig config, int size)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `append​(byte[] packedValue, int docID)` | Add a new point from the packed value and docId
    `void` | `append​(PointValue pointValue)` | Add a new point from a `PointValue`
    `void` | `close()` |
    `int` | `computeCardinality​(int from, int to, int[] commonPrefixLengths)` | Computes the cardinality of the points between `from` tp `to`
    `long` | `count()` | Return the number of points in this writer
    `void` | `destroy()` | Removes any temp files behind this writer
    `PointValue` | `getPackedValueSlice​(int index)` | Returns a reference, in `result`, to the byte[] slice holding this value
    `PointReader` | `getReader​(long start, long length)` | Returns a `PointReader` iterator to step through all previously added points
    `String` | `toString()` |

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

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

- - ### Constructor Detail

    - #### HeapPointWriter

          public HeapPointWriter​(BKDConfig config,
                                 int size)

  - ### Method Detail

    - #### getPackedValueSlice

          public PointValue getPackedValueSlice​(int index)

      Returns a reference, in `result`, to the byte[] slice holding this value

    - #### append

          public void append​(byte[] packedValue,
                             int docID)

      Description copied from interface: `PointWriter`
      Add a new point from the packed value and docId
      Specified by:
        `append` in interface `PointWriter`

    - #### append

          public void append​(PointValue pointValue)

      Description copied from interface: `PointWriter`
      Add a new point from a `PointValue`
      Specified by:
        `append` in interface `PointWriter`

    - #### computeCardinality

          public int computeCardinality​(int from,
                                        int to,
                                        int[] commonPrefixLengths)

      Computes the cardinality of the points between `from` tp `to`

    - #### count

          public long count()

      Description copied from interface: `PointWriter`
      Return the number of points in this writer
      Specified by:
        `count` in interface `PointWriter`

    - #### getReader

          public PointReader getReader​(long start,
                                       long length)

      Description copied from interface: `PointWriter`
      Returns a `PointReader` iterator to step through all previously added points
      Specified by:
        `getReader` in interface `PointWriter`

    - #### close

          public void close()

      Specified by:
        `close` in interface `AutoCloseable`
      Specified by:
        `close` in interface `Closeable`

    - #### destroy

          public void destroy()

      Description copied from interface: `PointWriter`
      Removes any temp files behind this writer
      Specified by:
        `destroy` in interface `PointWriter`

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`