Package org.apache.lucene.codecs.uniformsplit.sharedterms

## Class STIntersectBlockReader

- java.lang.Object
- - org.apache.lucene.index.TermsEnum
  - - org.apache.lucene.index.BaseTermsEnum
    - - org.apache.lucene.codecs.uniformsplit.BlockReader
      - - org.apache.lucene.codecs.uniformsplit.IntersectBlockReader
        - - org.apache.lucene.codecs.uniformsplit.sharedterms.STIntersectBlockReader

- All Implemented Interfaces:
    `Accountable`, `BytesRefIterator`

      public class STIntersectBlockReader
      extends IntersectBlockReader

  The "intersect" `TermsEnum` response to `STUniformSplitTerms.intersect(CompiledAutomaton, BytesRef)`, intersecting the terms with an automaton.
  WARNING: This API is experimental and might change in incompatible ways in the next release.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.lucene.codecs.uniformsplit.IntersectBlockReader

      `IntersectBlockReader.AutomatonNextTermCalculator, IntersectBlockReader.BlockIteration`

    - ### Nested classes/interfaces inherited from class org.apache.lucene.index.TermsEnum

      `TermsEnum.SeekStatus`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected FieldInfos` | `fieldInfos` |

    - ### Fields inherited from class org.apache.lucene.codecs.uniformsplit.IntersectBlockReader

      `automaton, blockIteration, commonSuffix, finite, minTermLength, nextStringCalculator, NUM_CONSECUTIVELY_REJECTED_TERMS_THRESHOLD, numConsecutivelyRejectedTerms, numMatchedBytes, runAutomaton, seekTerm, states`

    - ### Fields inherited from class org.apache.lucene.codecs.uniformsplit.BlockReader

      `blockDecoder, blockFirstLineStart, blockHeader, blockHeaderReader, blockInput, blockLine, blockLineReader, blockReadBuffer, blockStartFP, dictionaryBrowser, dictionaryBrowserSupplier, fieldMetadata, forcedTerm, lineIndexInBlock, postingsReader, scratchBlockBytes, scratchBlockLine, scratchTermState, termState, termStateForced, termStateSerializer, termStatesReadBuffer`

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

      `EMPTY`

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

      `NULL_ACCOUNTABLE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `STIntersectBlockReader​(CompiledAutomaton compiled, BytesRef startTerm, IndexDictionary.BrowserSupplier dictionaryBrowserSupplier, IndexInput blockInput, PostingsReaderBase postingsReader, FieldMetadata fieldMetadata, BlockDecoder blockDecoder, FieldInfos fieldInfos)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected STBlockLine.Serializer` | `createBlockLineSerializer()` |
    `BytesRef` | `next()` |
    `protected BlockTermState` | `readTermState()` | Reads the `BlockTermState` on the current line for the specific field corresponding to this reader.

    - ### Methods inherited from class org.apache.lucene.codecs.uniformsplit.IntersectBlockReader

      `endsWithCommonSuffix, getMinTermLength, nextBlock, nextTermInBlockMatching, seekCeil, seekExact, seekExact, seekExact, seekFirstBlock`

    - ### Methods inherited from class org.apache.lucene.codecs.uniformsplit.BlockReader

      `clearTermState, compareToMiddleAndJump, createBlockHeaderSerializer, createDeltaBaseTermStateSerializer, decodeBlockBytesIfNeeded, docFreq, getOrCreateDictionaryBrowser, impacts, initializeBlockReadLazily, initializeHeader, isBeyondLastTerm, isCurrentTerm, newCorruptIndexException, nextTerm, ord, postings, ramBytesUsed, readHeader, readLineInBlock, readTermStateIfNotRead, seekInBlock, seekInBlock, term, termState, totalTermFreq`

    - ### Methods inherited from class org.apache.lucene.index.BaseTermsEnum

      `attributes`

    - ### Methods inherited from class org.apache.lucene.index.TermsEnum

      `postings`

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

    - #### fieldInfos

          protected final FieldInfos fieldInfos

  - ### Constructor Detail

    - #### STIntersectBlockReader

          public STIntersectBlockReader​(CompiledAutomaton compiled,
                                        BytesRef startTerm,
                                        IndexDictionary.BrowserSupplier dictionaryBrowserSupplier,
                                        IndexInput blockInput,
                                        PostingsReaderBase postingsReader,
                                        FieldMetadata fieldMetadata,
                                        BlockDecoder blockDecoder,
                                        FieldInfos fieldInfos)
                                 throws IOException

      Throws:
        `IOException`

  - ### Method Detail

    - #### next

          public BytesRef next()
                        throws IOException

      Specified by:
        `next` in interface `BytesRefIterator`
      Overrides:
        `next` in class `IntersectBlockReader`
      Throws:
        `IOException`

    - #### createBlockLineSerializer

          protected STBlockLine.Serializer createBlockLineSerializer()

      Overrides:
        `createBlockLineSerializer` in class `BlockReader`

    - #### readTermState

          protected BlockTermState readTermState()
                                          throws IOException

      Reads the `BlockTermState` on the current line for the specific field corresponding to this reader. Returns null if the term does not occur for the field.
      Overrides:
        `readTermState` in class `BlockReader`
      Returns:
        The `BlockTermState`; or null if none.
      Throws:
        `IOException`