Package org.apache.lucene.codecs

# Class SegmentInfoFormat

java.lang.Object
org.apache.lucene.codecs.SegmentInfoFormat

Direct Known Subclasses:
  `Lucene99SegmentInfoFormat`

public abstract class SegmentInfoFormat extends Object
Expert: Controls the format of the `SegmentInfo` (segment metadata file).

See Also:
  - `SegmentInfo`
WARNING: This API is experimental and might change in incompatible ways in the next release.

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`SegmentInfoFormat()`
Sole constructor.

## Method Summary

Modifier and Type
Method
Description
`abstract SegmentInfo`
`read(Directory directory, String segmentName, byte[] segmentID, IOContext context)`
Read `SegmentInfo` data from a directory.
`abstract void`
`write(Directory dir, SegmentInfo info, IOContext ioContext)`
Write `SegmentInfo` data.

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

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

## Constructor Details

### SegmentInfoFormat

protected SegmentInfoFormat()
Sole constructor. (For invocation by subclass constructors, typically implicit.)

## Method Details

### read

public abstract SegmentInfo read(Directory directory, String segmentName, byte[] segmentID, IOContext context) throws IOException
Read `SegmentInfo` data from a directory.

Parameters:
  `directory` - directory to read from
  `segmentName` - name of the segment to read
  `segmentID` - expected identifier for the segment
Returns:
  infos instance to be populated with data
Throws:
  `IOException` - If an I/O error occurs

### write

public abstract void write(Directory dir, SegmentInfo info, IOContext ioContext) throws IOException
Write `SegmentInfo` data. The codec must add its SegmentInfo filename(s) to `info` before doing i/o.

Throws:
  `IOException` - If an I/O error occurs