org.apache.lucene.codecs.lucene40

## Class Lucene40PostingsWriter

- java.lang.Object
- - org.apache.lucene.codecs.PostingsConsumer
  - - org.apache.lucene.codecs.PostingsWriterBase
    - - org.apache.lucene.codecs.lucene40.Lucene40PostingsWriter

All Implemented Interfaces:
  Closeable, AutoCloseable

    public final class Lucene40PostingsWriter
    extends PostingsWriterBase

Concrete class that writes the 4.0 frq/prx postings format.

See Also:
  `Lucene40PostingsFormat`
WARNING: This API is experimental and might change in incompatible ways in the next release.

### Constructor Summary

Constructors
Constructor and Description
`Lucene40PostingsWriter(SegmentWriteState state)` Creates a `Lucene40PostingsWriter`, with the `DEFAULT_SKIP_INTERVAL`.
`Lucene40PostingsWriter(SegmentWriteState state, int skipInterval)` Creates a `Lucene40PostingsWriter`, with the specified `skipInterval`.

### Method Summary

Methods
`void` `addPosition(int position, BytesRef payload, int startOffset, int endOffset)` Add a new position & payload
`void` `close()`
`void` `finishDoc()`
`void` `finishTerm(TermStats stats)` Called when we are done adding docs to this term
`void` `flushTermsBlock(int start, int count)`
`void` `setField(FieldInfo fieldInfo)`
`void` `start(IndexOutput termsOut)`
`void` `startDoc(int docID, int termDocFreq)`
`void` `startTerm()`

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

`merge`

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

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

### Constructor Detail

#### Lucene40PostingsWriter

    public Lucene40PostingsWriter(SegmentWriteState state)
                           throws IOException

Creates a `Lucene40PostingsWriter`, with the `DEFAULT_SKIP_INTERVAL`.

Throws:
  `IOException`

#### Lucene40PostingsWriter

    public Lucene40PostingsWriter(SegmentWriteState state,
                          int skipInterval)
                           throws IOException

Creates a `Lucene40PostingsWriter`, with the specified `skipInterval`.

Throws:
  `IOException`

### Method Detail

#### start

    public void start(IndexOutput termsOut)
               throws IOException

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

#### startTerm

    public void startTerm()

Specified by:
  `startTerm` in class `PostingsWriterBase`

#### setField

    public void setField(FieldInfo fieldInfo)

Specified by:
  `setField` in class `PostingsWriterBase`

#### startDoc

    public void startDoc(int docID,
                int termDocFreq)
                  throws IOException

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

#### addPosition

    public void addPosition(int position,
                   BytesRef payload,
                   int startOffset,
                   int endOffset)
                     throws IOException

Add a new position & payload

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

#### finishDoc

    public void finishDoc()

Specified by:
  `finishDoc` in class `PostingsConsumer`

#### finishTerm

    public void finishTerm(TermStats stats)
                    throws IOException

Called when we are done adding docs to this term

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

#### flushTermsBlock

    public void flushTermsBlock(int start,
                       int count)
                         throws IOException

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

#### close

    public void close()
               throws IOException

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