Package org.apache.lucene.codecs.lucene90

## Class Lucene90CompoundFormat

- java.lang.Object
- - org.apache.lucene.codecs.CompoundFormat
  - - org.apache.lucene.codecs.lucene90.Lucene90CompoundFormat

-     public final class Lucene90CompoundFormat
      extends CompoundFormat

  Lucene 9.0 compound file format

  Files:

  - `.cfs`: An optional "virtual" file consisting of all the other index files for systems that frequently run out of file handles.
  - `.cfe`: The "virtual" compound file's entry table holding all entries in the corresponding .cfs file.

  Description:

  - Compound (.cfs) --> Header, FileData FileCount, Footer
  - Compound Entry Table (.cfe) --> Header, FileCount, <FileName, DataOffset, DataLength> FileCount
  - Header --> `IndexHeader`
  - FileCount --> `VInt`
  - DataOffset,DataLength,Checksum --> `UInt64`
  - FileName --> `String`
  - FileData --> raw file data
  - Footer --> `CodecFooter`

  Notes:

  - FileCount indicates how many files are contained in this compound file. The entry table that follows has that many entries.
  - Each directory entry contains a long pointer to the start of this file's data section, the files length, and a String with that file's name. The start of file's data section is aligned to 8 bytes to not introduce additional unaligned accesses with mmap.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Lucene90CompoundFormat()` | Sole constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `CompoundDirectory` | `getCompoundReader​(Directory dir, SegmentInfo si, IOContext context)` | Returns a Directory view (read-only) for the compound files in this segment
    `void` | `write​(Directory dir, SegmentInfo si, IOContext context)` | Packs the provided segment's files into a compound format.

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

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

- - ### Constructor Detail

    - #### Lucene90CompoundFormat

          public Lucene90CompoundFormat()

      Sole constructor.

  - ### Method Detail

    - #### getCompoundReader

          public CompoundDirectory getCompoundReader​(Directory dir,
                                                     SegmentInfo si,
                                                     IOContext context)
                                              throws IOException

      Description copied from class: `CompoundFormat`
      Returns a Directory view (read-only) for the compound files in this segment
      Specified by:
        `getCompoundReader` in class `CompoundFormat`
      Throws:
        `IOException`

    - #### write

          public void write​(Directory dir,
                            SegmentInfo si,
                            IOContext context)
                     throws IOException

      Description copied from class: `CompoundFormat`
      Packs the provided segment's files into a compound format. All files referenced by the provided `SegmentInfo` must have `CodecUtil.writeIndexHeader(org.apache.lucene.store.DataOutput, java.lang.String, int, byte[], java.lang.String)` and `CodecUtil.writeFooter(org.apache.lucene.store.IndexOutput)`.
      Specified by:
        `write` in class `CompoundFormat`
      Throws:
        `IOException`