Package org.apache.lucene.backward_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.backward_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

Modifier and Type
Method
Description
`Lucene99PostingsFormat.IntBlockTermState`
`clone()`
`void`
`copyFrom(TermState _other)`
`String`
`toString()`

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

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

## Field Details

### 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 Details

### IntBlockTermState

public IntBlockTermState()
Sole constructor.

## Method Details

### clone

public Lucene99PostingsFormat.IntBlockTermState clone()

Overrides:
  `clone` in class `TermState`

### copyFrom

public void copyFrom(TermState _other)

Overrides:
  `copyFrom` in class `BlockTermState`

### toString

public String toString()

Overrides:
  `toString` in class `BlockTermState`