PointWriter (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.util.bkd, interface: PointWriter

Package org.apache.lucene.util.bkd

# Interface PointWriter

All Superinterfaces:
  `AutoCloseable`, `Closeable`

All Known Implementing Classes:
  `HeapPointWriter`, `OfflinePointWriter`

public interface PointWriter extends Closeable
Appends many points, and then at the end provides a `PointReader` to iterate those points. This abstracts away whether we write to disk, or use simple arrays in heap.

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

- ## Method Summary

  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`
  `long`
  `count()`
  Return the number of points in this writer
  `void`
  `destroy()`
  Removes any temp files behind this writer
  `PointReader`
  `getReader(long startPoint, long length)`
  Returns a `PointReader` iterator to step through all previously added points

  ### Methods inherited from interface java.io.Closeable

  `close`

- ## Method Details

  - ### append

    void append(byte[] packedValue, int docID) throws IOException
    Add a new point from the packed value and docId
    Throws:
      `IOException`

  - ### append

    void append(PointValue pointValue) throws IOException
    Add a new point from a `PointValue`
    Throws:
      `IOException`

  - ### getReader

    PointReader getReader(long startPoint, long length) throws IOException
    Returns a `PointReader` iterator to step through all previously added points
    Throws:
      `IOException`

  - ### count

    long count()
    Return the number of points in this writer

  - ### destroy

    void destroy() throws IOException
    Removes any temp files behind this writer
    Throws:
      `IOException`