Package org.apache.lucene.index

# Class IndexReaderContext

java.lang.Object
org.apache.lucene.index.IndexReaderContext

Direct Known Subclasses:
  `CompositeReaderContext`, `LeafReaderContext`

public abstract sealed class IndexReaderContext extends Object permits CompositeReaderContext, LeafReaderContext
A struct like class that represents a hierarchical relationship between `IndexReader` instances.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `final int`
  `docBaseInParent`
  the doc base for this reader in the parent, `0` if parent is null
  `final boolean`
  `isTopLevel`
  `true` if this context struct represents the top level reader within the hierarchical context
  `final int`
  `ordInParent`
  the ord for this reader in the parent, `0` if parent is null
  `final CompositeReaderContext`
  `parent`
  The reader context for this reader's immediate parent, or null if none

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract List<IndexReaderContext>`
  `children()`
  Returns the context's children iff this context is a composite context otherwise `null` .
  `Object`
  `id()`
  Expert: Return an `Object` that uniquely identifies this context.
  `abstract List<LeafReaderContext>`
  `leaves()`
  Returns the context's leaves if this context is a top-level context.
  `abstract IndexReader`
  `reader()`
  Returns the `IndexReader`, this context represents.

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

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

- ## Field Details

  - ### parent

    public final CompositeReaderContext parent
    The reader context for this reader's immediate parent, or null if none

  - ### isTopLevel

    public final boolean isTopLevel
    `true` if this context struct represents the top level reader within the hierarchical context

  - ### docBaseInParent

    public final int docBaseInParent
    the doc base for this reader in the parent, `0` if parent is null

  - ### ordInParent

    public final int ordInParent
    the ord for this reader in the parent, `0` if parent is null

- ## Method Details

  - ### id

    public Object id()
    Expert: Return an `Object` that uniquely identifies this context. The returned object does neither reference this `IndexReaderContext` nor the wrapped `IndexReader`.
    WARNING: This API is experimental and might change in incompatible ways in the next release.

  - ### reader

    public abstract IndexReader reader()
    Returns the `IndexReader`, this context represents.

  - ### leaves

    public abstract List<LeafReaderContext> leaves() throws UnsupportedOperationException
    Returns the context's leaves if this context is a top-level context. For convenience, if this is an `LeafReaderContext` this returns itself as the only leaf, and it will never return a null value.

    Note: this is convenience method since leaves can always be obtained by walking the context tree using `children()`.

    Throws:
      `UnsupportedOperationException` - if this is not a top-level context.
    See Also:
      - `children()`

  - ### children

    public abstract List<IndexReaderContext> children()
    Returns the context's children iff this context is a composite context otherwise `null` .