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` .