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`