Package org.apache.lucene.codecs

## Class PostingsReaderBase

- java.lang.Object
- - org.apache.lucene.codecs.PostingsReaderBase

- All Implemented Interfaces:
    `Closeable`, `AutoCloseable`
  Direct Known Subclasses:
    `Lucene99PostingsReader`

      public abstract class PostingsReaderBase
      extends Object
      implements Closeable

  The core terms dictionaries (BlockTermsReader, BlockTreeTermsReader) interact with a single instance of this class to manage creation of `PostingsEnum` and `PostingsEnum` instances. It provides an IndexInput (termsIn) where this class may read any previously stored data that it had written in its corresponding `PostingsWriterBase` at indexing time.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `PostingsReaderBase()` | Sole constructor.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract void` | `checkIntegrity()` | Checks consistency of this reader.
    `abstract void` | `close()` |
    `abstract void` | `decodeTerm​(DataInput in, FieldInfo fieldInfo, BlockTermState state, boolean absolute)` | Actually decode metadata for next term
    `abstract ImpactsEnum` | `impacts​(FieldInfo fieldInfo, BlockTermState state, int flags)` | Return a `ImpactsEnum` that computes impacts with `scorer`.
    `abstract void` | `init​(IndexInput termsIn, SegmentReadState state)` | Performs any initialization, such as reading and verifying the header from the provided terms dictionary `IndexInput`.
    `abstract BlockTermState` | `newTermState()` | Return a newly created empty TermState
    `abstract PostingsEnum` | `postings​(FieldInfo fieldInfo, BlockTermState state, PostingsEnum reuse, int flags)` | Must fully consume state, since after this call that TermState may be reused.

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

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

- - ### Constructor Detail

    - #### PostingsReaderBase

          protected PostingsReaderBase()

      Sole constructor. (For invocation by subclass constructors, typically implicit.)

  - ### Method Detail

    - #### init

          public abstract void init​(IndexInput termsIn,
                                    SegmentReadState state)
                             throws IOException

      Performs any initialization, such as reading and verifying the header from the provided terms dictionary `IndexInput`.
      Throws:
        `IOException`

    - #### newTermState

          public abstract BlockTermState newTermState()
                                               throws IOException

      Return a newly created empty TermState
      Throws:
        `IOException`

    - #### decodeTerm

          public abstract void decodeTerm​(DataInput in,
                                          FieldInfo fieldInfo,
                                          BlockTermState state,
                                          boolean absolute)
                                   throws IOException

      Actually decode metadata for next term
      Throws:
        `IOException`
      See Also:
        `PostingsWriterBase.encodeTerm(org.apache.lucene.store.DataOutput, org.apache.lucene.index.FieldInfo, org.apache.lucene.codecs.BlockTermState, boolean)`

    - #### postings

          public abstract PostingsEnum postings​(FieldInfo fieldInfo,
                                                BlockTermState state,
                                                PostingsEnum reuse,
                                                int flags)
                                         throws IOException

      Must fully consume state, since after this call that TermState may be reused.
      Throws:
        `IOException`

    - #### impacts

          public abstract ImpactsEnum impacts​(FieldInfo fieldInfo,
                                              BlockTermState state,
                                              int flags)
                                       throws IOException

      Return a `ImpactsEnum` that computes impacts with `scorer`.
      Throws:
        `IOException`
      See Also:
        `postings(FieldInfo, BlockTermState, PostingsEnum, int)`

    - #### checkIntegrity

          public abstract void checkIntegrity()
                                       throws IOException

      Checks consistency of this reader.

      Note that this may be costly in terms of I/O, e.g. may involve computing a checksum value against large data files.

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

    - #### close

          public abstract void close()
                              throws IOException

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