org.apache.lucene.index

## Class IndexReaderContext

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

Direct Known Subclasses:
  CompositeReaderContext, LeafReaderContext

    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

All Methods Instance Methods Abstract Methods Concrete Methods
`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 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

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

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