Package org.apache.lucene.codecs.lucene99

## Class Lucene99PostingsFormat.IntBlockTermState

- java.lang.Object
- - org.apache.lucene.index.TermState
  - - org.apache.lucene.index.OrdTermState
    - - org.apache.lucene.codecs.BlockTermState
      - - org.apache.lucene.codecs.lucene99.Lucene99PostingsFormat.IntBlockTermState

- All Implemented Interfaces:
    `Cloneable`
  Enclosing class:
    Lucene99PostingsFormat

      public static final class Lucene99PostingsFormat.IntBlockTermState
      extends BlockTermState

  Holds all state required for `Lucene99PostingsReader` to produce a `PostingsEnum` without re-seeking the terms dict.
  NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `long` | `docStartFP` | file pointer to the start of the doc ids enumeration, in `Lucene99PostingsFormat.DOC_EXTENSION` file
    `long` | `lastPosBlockOffset` | file offset for the last position in the last block, if there are more than `ForUtil.BLOCK_SIZE` positions; otherwise -1
    `long` | `payStartFP` | file pointer to the start of the payloads enumeration, in `Lucene99PostingsFormat.PAY_EXTENSION` file
    `long` | `posStartFP` | file pointer to the start of the positions enumeration, in `Lucene99PostingsFormat.POS_EXTENSION` file
    `int` | `singletonDocID` | docid when there is a single pulsed posting, otherwise -1.
    `long` | `skipOffset` | file offset for the start of the skip list, relative to docStartFP, if there are more than `ForUtil.BLOCK_SIZE` docs; otherwise -1

    - ### Fields inherited from class org.apache.lucene.codecs.BlockTermState

      `blockFilePointer, docFreq, termBlockOrd, totalTermFreq`

    - ### Fields inherited from class org.apache.lucene.index.OrdTermState

      `ord`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `IntBlockTermState()` | Sole constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Lucene99PostingsFormat.IntBlockTermState` | `clone()` |
    `void` | `copyFrom​(TermState _other)` | Copies the content of the given `TermState` to this instance
    `String` | `toString()` |

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

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

- - ### Field Detail

    - #### docStartFP

          public long docStartFP

      file pointer to the start of the doc ids enumeration, in `Lucene99PostingsFormat.DOC_EXTENSION` file

    - #### posStartFP

          public long posStartFP

      file pointer to the start of the positions enumeration, in `Lucene99PostingsFormat.POS_EXTENSION` file

    - #### payStartFP

          public long payStartFP

      file pointer to the start of the payloads enumeration, in `Lucene99PostingsFormat.PAY_EXTENSION` file

    - #### skipOffset

          public long skipOffset

      file offset for the start of the skip list, relative to docStartFP, if there are more than `ForUtil.BLOCK_SIZE` docs; otherwise -1

    - #### lastPosBlockOffset

          public long lastPosBlockOffset

      file offset for the last position in the last block, if there are more than `ForUtil.BLOCK_SIZE` positions; otherwise -1

      One might think to use total term frequency to track how many positions are left to read as we decode the blocks, and decode the last block differently when num_left_positions < BLOCK_SIZE. Unfortunately this won't work since the tracking will be messed up when we skip blocks as the skipper will only tell us new position offset (start of block) and number of positions to skip for that block, without telling us how many positions it has skipped.

    - #### singletonDocID

          public int singletonDocID

      docid when there is a single pulsed posting, otherwise -1. freq is always implicitly totalTermFreq in this case.

  - ### Constructor Detail

    - #### IntBlockTermState

          public IntBlockTermState()

      Sole constructor.

  - ### Method Detail

    - #### clone

          public Lucene99PostingsFormat.IntBlockTermState clone()

      Overrides:
        `clone` in class `TermState`

    - #### copyFrom

          public void copyFrom​(TermState _other)

      Description copied from class: `TermState`
      Copies the content of the given `TermState` to this instance
      Overrides:
        `copyFrom` in class `BlockTermState`
      Parameters:
        `_other` - the TermState to copy

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `BlockTermState`