Package org.apache.lucene.codecs.uniformsplit

# Class BlockHeader

java.lang.Object
org.apache.lucene.codecs.uniformsplit.BlockHeader

All Implemented Interfaces:
  `Accountable`

public class BlockHeader extends Object implements Accountable
Block header containing block metadata.

Holds the number of lines in the block.

Holds the base file pointers to apply delta base encoding to all the file pointers in the block with `DeltaBaseTermStateSerializer`.

Holds the offset to the details region of the block (the term states).

Holds the offset to the middle term of the block to divide the number of terms to scan by 2.

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

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static class`
  `BlockHeader.Serializer`
  Reads/writes block header.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected long`
  `baseDocsFP`
  `protected long`
  `basePayloadsFP`
  `protected long`
  `basePositionsFP`
  `protected int`
  `linesCount`
  `protected int`
  `middleLineIndex`
  `protected int`
  `middleLineOffset`
  `protected int`
  `termStatesBaseOffset`

  ### Fields inherited from interface org.apache.lucene.util.Accountable

  `NULL_ACCOUNTABLE`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `BlockHeader()`
  Empty constructor.
  `protected`
  `BlockHeader(int linesCount, long baseDocsFP, long basePositionsFP, long basePayloadsFP, int termStatesBaseOffset, int middleLineOffset)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `long`
  `getBaseDocsFP()`
  `long`
  `getBasePayloadsFP()`
  `long`
  `getBasePositionsFP()`
  `int`
  `getLinesCount()`
  `int`
  `getMiddleLineIndex()`
  `int`
  `getMiddleLineOffset()`
  `int`
  `getTermStatesBaseOffset()`
  `long`
  `ramBytesUsed()`
  `protected BlockHeader`
  `reset(int linesCount, long baseDocsFP, long basePositionsFP, long basePayloadsFP, int termStatesBaseOffset, int middleTermOffset)`

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

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

  ### Methods inherited from interface org.apache.lucene.util.Accountable

  `getChildResources`

- ## Field Details

  - ### linesCount

    protected int linesCount

  - ### baseDocsFP

    protected long baseDocsFP

  - ### basePositionsFP

    protected long basePositionsFP

  - ### basePayloadsFP

    protected long basePayloadsFP

  - ### termStatesBaseOffset

    protected int termStatesBaseOffset

  - ### middleLineIndex

    protected int middleLineIndex

  - ### middleLineOffset

    protected int middleLineOffset

- ## Constructor Details

  - ### BlockHeader

    protected BlockHeader(int linesCount, long baseDocsFP, long basePositionsFP, long basePayloadsFP, int termStatesBaseOffset, int middleLineOffset)
    Parameters:
      `linesCount` - Number of lines in the block.
      `baseDocsFP` - File pointer to the docs of the first term with docs in the block.
      `basePositionsFP` - File pointer to the positions of the first term with positions in the block.
      `basePayloadsFP` - File pointer to the payloads of the first term with payloads in the block.
      `termStatesBaseOffset` - Offset to the details region of the block (the term states), relative to the block start.
      `middleLineOffset` - Offset to the middle term of the block, relative to the block start.

  - ### BlockHeader

    protected BlockHeader()
    Empty constructor. `reset(int, long, long, long, int, int)` must be called before writing.

- ## Method Details

  - ### reset

    protected BlockHeader reset(int linesCount, long baseDocsFP, long basePositionsFP, long basePayloadsFP, int termStatesBaseOffset, int middleTermOffset)

  - ### getLinesCount

    public int getLinesCount()
    Returns:
      The number of lines in the block.

  - ### getMiddleLineIndex

    public int getMiddleLineIndex()
    Returns:
      The index of the middle line of the block.

  - ### getMiddleLineOffset

    public int getMiddleLineOffset()
    Returns:
      The offset to the middle line of the block, relative to the block start.

  - ### getTermStatesBaseOffset

    public int getTermStatesBaseOffset()
    Returns:
      The offset to the details region of the block (the term states), relative to the block start.

  - ### getBaseDocsFP

    public long getBaseDocsFP()
    Returns:
      The file pointer to the docs of the first term with docs in the block.

  - ### getBasePositionsFP

    public long getBasePositionsFP()
    Returns:
      The file pointer to the positions of the first term with positions in the block.

  - ### getBasePayloadsFP

    public long getBasePayloadsFP()
    Returns:
      The file pointer to the payloads of the first term with payloads in the block.

  - ### ramBytesUsed

    public long ramBytesUsed()
    Specified by:
      `ramBytesUsed` in interface `Accountable`