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

All Methods Instance Methods Abstract Methods
`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 Detail

#### 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`