Package org.apache.lucene.codecs.lucene912

# Class Lucene912PostingsWriter

java.lang.Object
org.apache.lucene.codecs.PostingsWriterBase
org.apache.lucene.codecs.PushPostingsWriterBase
org.apache.lucene.codecs.lucene912.Lucene912PostingsWriter

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public class Lucene912PostingsWriter extends PushPostingsWriterBase
Writer for `Lucene912PostingsFormat`.

## Field Summary

### Fields inherited from class org.apache.lucene.codecs.PushPostingsWriterBase

`fieldInfo, indexOptions, writeFreqs, writeOffsets, writePayloads, writePositions`

## Constructor Summary

Constructors
Constructor
Description
`Lucene912PostingsWriter(SegmentWriteState state)`
Sole constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`addPosition(int position, BytesRef payload, int startOffset, int endOffset)`
Add a new position and payload, and start/end offset.
`void`
`close()`
`void`
`encodeTerm(DataOutput out, FieldInfo fieldInfo, BlockTermState _state, boolean absolute)`
Encode metadata as long[] and byte[].
`void`
`finishDoc()`
Called when we are done adding positions and payloads for each doc.
`void`
`finishTerm(BlockTermState _state)`
Called when we are done adding docs to this term
`void`
`init(IndexOutput termsOut, SegmentWriteState state)`
Called once after startup, before any terms have been added.
`Lucene912PostingsFormat.IntBlockTermState`
`newTermState()`
Return a newly created empty TermState
`void`
`setField(FieldInfo fieldInfo)`
Sets the current field for writing, and returns the fixed length of long[] metadata (which is fixed per field), called when the writing switches to another field.
`void`
`startDoc(int docID, int termDocFreq)`
Adds a new doc in this term.
`void`
`startTerm(NumericDocValues norms)`
Start a new term.

### Methods inherited from class org.apache.lucene.codecs.PushPostingsWriterBase

`writeTerm`

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

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

## Constructor Details

### Lucene912PostingsWriter

public Lucene912PostingsWriter(SegmentWriteState state) throws IOException
Sole constructor.

Throws:
  `IOException`

## Method Details

### newTermState

public Lucene912PostingsFormat.IntBlockTermState newTermState()
Description copied from class: `PushPostingsWriterBase`
Return a newly created empty TermState

Specified by:
  `newTermState` in class `PushPostingsWriterBase`

### init

public void init(IndexOutput termsOut, SegmentWriteState state) throws IOException
Description copied from class: `PostingsWriterBase`
Called once after startup, before any terms have been added. Implementations typically write a header to the provided `termsOut`.

Specified by:
  `init` in class `PostingsWriterBase`
Throws:
  `IOException`

### setField

public void setField(FieldInfo fieldInfo)
Description copied from class: `PushPostingsWriterBase`
Sets the current field for writing, and returns the fixed length of long[] metadata (which is fixed per field), called when the writing switches to another field.

Overrides:
  `setField` in class `PushPostingsWriterBase`

### startTerm

public void startTerm(NumericDocValues norms)
Description copied from class: `PushPostingsWriterBase`
Start a new term. Note that a matching call to `PushPostingsWriterBase.finishTerm(BlockTermState)` is done, only if the term has at least one document.

Specified by:
  `startTerm` in class `PushPostingsWriterBase`

### startDoc

public void startDoc(int docID, int termDocFreq) throws IOException
Description copied from class: `PushPostingsWriterBase`
Adds a new doc in this term. `freq` will be -1 when term frequencies are omitted for the field.

Specified by:
  `startDoc` in class `PushPostingsWriterBase`
Throws:
  `IOException`

### addPosition

public void addPosition(int position, BytesRef payload, int startOffset, int endOffset) throws IOException
Description copied from class: `PushPostingsWriterBase`
Add a new position and payload, and start/end offset. A null payload means no payload; a non-null payload with zero length also means no payload. Caller may reuse the `BytesRef` for the payload between calls (method must fully consume the payload). `startOffset` and `endOffset` will be -1 when offsets are not indexed.

Specified by:
  `addPosition` in class `PushPostingsWriterBase`
Throws:
  `IOException`

### finishDoc

public void finishDoc() throws IOException
Description copied from class: `PushPostingsWriterBase`
Called when we are done adding positions and payloads for each doc.

Specified by:
  `finishDoc` in class `PushPostingsWriterBase`
Throws:
  `IOException`

### finishTerm

public void finishTerm(BlockTermState _state) throws IOException
Called when we are done adding docs to this term

Specified by:
  `finishTerm` in class `PushPostingsWriterBase`
Throws:
  `IOException`

### encodeTerm

public void encodeTerm(DataOutput out, FieldInfo fieldInfo, BlockTermState _state, boolean absolute) throws IOException
Description copied from class: `PostingsWriterBase`
Encode metadata as long[] and byte[]. `absolute` controls whether current term is delta encoded according to latest term. Usually elements in `longs` are file pointers, so each one always increases when a new term is consumed. `out` is used to write generic bytes, which are not monotonic.

Specified by:
  `encodeTerm` in class `PostingsWriterBase`
Throws:
  `IOException`

### close

public void close() throws IOException

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in class `PostingsWriterBase`
Throws:
  `IOException`