org.apache.lucene.index

## Class SegmentReadState

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

    public class SegmentReadState
    extends Object

Holder class for common parameters used during read.

WARNING: This API is experimental and might change in incompatible ways in the next release.

### Field Summary

Fields
`IOContext` `context` `IOContext` to pass to `Directory.openInput(String,IOContext)`.
`Directory` `directory` `Directory` where this segment is read from.
`FieldInfos` `fieldInfos` `FieldInfos` describing all fields in this segment.
`SegmentInfo` `segmentInfo` `SegmentInfo` describing this segment.
`String` `segmentSuffix` Unique suffix for any postings files read for this segment.
`int` `termsIndexDivisor` The `termInfosIndexDivisor` to use, if appropriate (not all `PostingsFormat`s support it; in particular the current default does not).

### Constructor Summary

Constructors
Constructor and Description
`SegmentReadState(Directory dir, SegmentInfo info, FieldInfos fieldInfos, IOContext context, int termsIndexDivisor)` Create a `SegmentReadState`.
`SegmentReadState(Directory dir, SegmentInfo info, FieldInfos fieldInfos, IOContext context, int termsIndexDivisor, String segmentSuffix)` Create a `SegmentReadState`.
`SegmentReadState(SegmentReadState other, String newSegmentSuffix)` Create a `SegmentReadState`.

### Method Summary

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

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

### Field Detail

#### directory

    public final Directory directory

`Directory` where this segment is read from.

#### segmentInfo

    public final SegmentInfo segmentInfo

`SegmentInfo` describing this segment.

#### fieldInfos

    public final FieldInfos fieldInfos

`FieldInfos` describing all fields in this segment.

#### context

    public final IOContext context

`IOContext` to pass to `Directory.openInput(String,IOContext)`.

#### termsIndexDivisor

    public int termsIndexDivisor

The `termInfosIndexDivisor` to use, if appropriate (not all `PostingsFormat`s support it; in particular the current default does not).

NOTE: if this is < 0, that means "defer terms index load until needed". But if the codec must load the terms index on init (preflex is the only once currently that must do so), then it should negate this value to get the app's terms divisor

#### segmentSuffix

    public final String segmentSuffix

Unique suffix for any postings files read for this segment. `PerFieldPostingsFormat` sets this for each of the postings formats it wraps. If you create a new `PostingsFormat` then any files you write/read must be derived using this suffix (use `IndexFileNames.segmentFileName(String,String,String)`).

### Constructor Detail

#### SegmentReadState

    public SegmentReadState(Directory dir,
                    SegmentInfo info,
                    FieldInfos fieldInfos,
                    IOContext context,
                    int termsIndexDivisor)

Create a `SegmentReadState`.

#### SegmentReadState

    public SegmentReadState(Directory dir,
                    SegmentInfo info,
                    FieldInfos fieldInfos,
                    IOContext context,
                    int termsIndexDivisor,
                    String segmentSuffix)

Create a `SegmentReadState`.

#### SegmentReadState

    public SegmentReadState(SegmentReadState other,
                    String newSegmentSuffix)

Create a `SegmentReadState`.