org.apache.lucene.index

## Class IndexReaderContext

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

Direct Known Subclasses:
  AtomicReaderContext, CompositeReaderContext

    public abstract class IndexReaderContext
    extends Object

A struct like class that represents a hierarchical relationship between `IndexReader` instances.

### Field Summary

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

### Method Summary

Methods
`abstract List<IndexReaderContext>` `children()` Returns the context's children iff this context is a composite context otherwise `null`.
`abstract List<AtomicReaderContext>` `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 Detail

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

#### reader

    public abstract IndexReader reader()

Returns the `IndexReader`, this context represents.

#### leaves

    public abstract List<AtomicReaderContext> leaves()
                                              throws UnsupportedOperationException

Returns the context's leaves if this context is a top-level context. For convenience, if this is an `AtomicReaderContext` this returns itself as the only leaf.

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