ImpactsSource (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.index, interface: ImpactsSource

Package org.apache.lucene.index

# Interface ImpactsSource

All Known Implementing Classes:
  `ImpactsEnum`, `SlowImpactsEnum`

public interface ImpactsSource
Source of `Impacts`.

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `advanceShallow(int target)`
  Shallow-advance to `target`.
  `Impacts`
  `getImpacts()`
  Get information about upcoming impacts for doc ids that are greater than or equal to the maximum of `DocIdSetIterator.docID()` and the last target that was passed to `advanceShallow(int)`.

- ## Method Details

  - ### advanceShallow

    void advanceShallow(int target) throws IOException
    Shallow-advance to `target`. This is cheaper than calling `DocIdSetIterator.advance(int)` and allows further calls to `getImpacts()` to ignore doc IDs that are less than `target` in order to get more precise information about impacts. This method may not be called on targets that are less than the current `DocIdSetIterator.docID()`. After this method has been called, `DocIdSetIterator.nextDoc()` may not be called if the current doc ID is less than `target - 1` and `DocIdSetIterator.advance(int)` may not be called on targets that are less than `target`.
    Throws:
      `IOException`

  - ### getImpacts

    Impacts getImpacts() throws IOException
    Get information about upcoming impacts for doc ids that are greater than or equal to the maximum of `DocIdSetIterator.docID()` and the last target that was passed to `advanceShallow(int)`. This method may not be called on an unpositioned iterator on which `advanceShallow(int)` has never been called. NOTE: advancing this iterator may invalidate the returned impacts, so they should not be used after the iterator has been advanced.
    Throws:
      `IOException`