## Uses of Class
org.apache.lucene.store.IndexInput

- Packages that use IndexInput
  Package | Description
  --- | ---
  org.apache.lucene.codecs | Codecs API: API for customization of the encoding and structure of the index.
  org.apache.lucene.codecs.lucene90 | Lucene 9.0 file format.
  org.apache.lucene.codecs.lucene95 | Lucene 9.5 file format.
  org.apache.lucene.codecs.lucene99 | Lucene 9.9 file format.
  org.apache.lucene.store | Binary i/o API, used for all index data.
  org.apache.lucene.util | Some utility classes.
  org.apache.lucene.util.bkd | Block KD-tree, implementing the generic spatial data structure described in this paper.
  org.apache.lucene.util.packed | Packed integer arrays and streams.

- - ### Uses of IndexInput in org.apache.lucene.codecs

    Methods in org.apache.lucene.codecs with parameters of type IndexInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `static long` | CodecUtil.`checksumEntireFile​(IndexInput input)` | Clones the provided input, reads all bytes from the file, and calls `CodecUtil.checkFooter(org.apache.lucene.store.ChecksumIndexInput)`
    `abstract void` | PostingsReaderBase.`init​(IndexInput termsIn, SegmentReadState state)` | Performs any initialization, such as reading and verifying the header from the provided terms dictionary `IndexInput`.
    `protected long` | MultiLevelSkipListReader.`readChildPointer​(IndexInput skipStream)` | read the child pointer written via `MultiLevelSkipListWriter.writeChildPointer(long, DataOutput)`.
    `static byte[]` | CodecUtil.`readFooter​(IndexInput in)` | Retrieves the full footer from the provided `IndexInput`.
    `static byte[]` | CodecUtil.`readIndexHeader​(IndexInput in)` | Retrieves the full index header from the provided `IndexInput`.
    `protected long` | MultiLevelSkipListReader.`readLevelLength​(IndexInput skipStream)` | read the length of the current level written via `MultiLevelSkipListWriter.writeLevelLength(long, IndexOutput)`.
    `protected abstract int` | MultiLevelSkipListReader.`readSkipData​(int level, IndexInput skipStream)` | Subclasses must implement the actual skip data encoding in this method.
    `static long` | CodecUtil.`retrieveChecksum​(IndexInput in)` | Returns (but does not validate) the checksum previously written by `CodecUtil.checkFooter(org.apache.lucene.store.ChecksumIndexInput)`.
    `static long` | CodecUtil.`retrieveChecksum​(IndexInput in, long expectedLength)` | Returns (but does not validate) the checksum previously written by `CodecUtil.checkFooter(org.apache.lucene.store.ChecksumIndexInput)`.
    `static void` | CodecUtil.`verifyAndCopyIndexHeader​(IndexInput in, DataOutput out, byte[] expectedID)` | Expert: verifies the incoming `IndexInput` has an index header and that its segment ID matches the expected one, and then copies that index header into the provided `DataOutput`.

    Constructors in org.apache.lucene.codecs with parameters of type IndexInput
    Constructor | Description
    --- | ---
    `MultiLevelSkipListReader​(IndexInput skipStream, int maxSkipLevels, int skipInterval)` | Creates a `MultiLevelSkipListReader`, where `skipInterval` and `skipMultiplier` are the same.
    `MultiLevelSkipListReader​(IndexInput skipStream, int maxSkipLevels, int skipInterval, int skipMultiplier)` | Creates a `MultiLevelSkipListReader`.

  - ### Uses of IndexInput in org.apache.lucene.codecs.lucene90

    Methods in org.apache.lucene.codecs.lucene90 that return IndexInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `static IndexInput` | IndexedDISI.`createBlockSlice​(IndexInput slice, String sliceDescription, long offset, long length, int jumpTableEntryCount)` | Helper method for using `IndexedDISI(IndexInput, RandomAccessInput, int, byte, long)`.

    Methods in org.apache.lucene.codecs.lucene90 with parameters of type IndexInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `static IndexInput` | IndexedDISI.`createBlockSlice​(IndexInput slice, String sliceDescription, long offset, long length, int jumpTableEntryCount)` | Helper method for using `IndexedDISI(IndexInput, RandomAccessInput, int, byte, long)`.
    `static RandomAccessInput` | IndexedDISI.`createJumpTable​(IndexInput slice, long offset, long length, int jumpTableEntryCount)` | Helper method for using `IndexedDISI(IndexInput, RandomAccessInput, int, byte, long)`.

    Constructors in org.apache.lucene.codecs.lucene90 with parameters of type IndexInput
    Constructor | Description
    --- | ---
    `IndexedDISI​(IndexInput in, long offset, long length, int jumpTableEntryCount, byte denseRankPower, long cost)` | This constructor always creates a new blockSlice and a new jumpTable from in, to ensure that operations are independent from the caller.

  - ### Uses of IndexInput in org.apache.lucene.codecs.lucene95

    Fields in org.apache.lucene.codecs.lucene95 declared as IndexInput
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected IndexInput` | OffHeapByteVectorValues.`slice` |
    `protected IndexInput` | OffHeapFloatVectorValues.`slice` |

    Methods in org.apache.lucene.codecs.lucene95 with parameters of type IndexInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `static OrdToDocDISIReaderConfiguration` | OrdToDocDISIReaderConfiguration.`fromStoredMeta​(IndexInput inputMeta, int size)` | Reads in the necessary fields stored in the outputMeta to configure `DirectMonotonicReader` and `IndexedDISI`.
    `DirectMonotonicReader` | OrdToDocDISIReaderConfiguration.`getDirectMonotonicReader​(IndexInput dataIn)` |
    `IndexedDISI` | OrdToDocDISIReaderConfiguration.`getIndexedDISI​(IndexInput dataIn)` |
    `static OffHeapByteVectorValues` | OffHeapByteVectorValues.`load​(OrdToDocDISIReaderConfiguration configuration, VectorEncoding vectorEncoding, int dimension, long vectorDataOffset, long vectorDataLength, IndexInput vectorData)` |
    `static OffHeapFloatVectorValues` | OffHeapFloatVectorValues.`load​(OrdToDocDISIReaderConfiguration configuration, VectorEncoding vectorEncoding, int dimension, long vectorDataOffset, long vectorDataLength, IndexInput vectorData)` |

    Constructors in org.apache.lucene.codecs.lucene95 with parameters of type IndexInput
    Constructor | Description
    --- | ---
    `DenseOffHeapVectorValues​(int dimension, int size, IndexInput slice, int byteSize)` |
    `DenseOffHeapVectorValues​(int dimension, int size, IndexInput slice, int byteSize)` |

  - ### Uses of IndexInput in org.apache.lucene.codecs.lucene99

    Fields in org.apache.lucene.codecs.lucene99 declared as IndexInput
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected IndexInput` | OffHeapQuantizedByteVectorValues.`slice` |

    Methods in org.apache.lucene.codecs.lucene99 with parameters of type IndexInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | Lucene99PostingsReader.`init​(IndexInput termsIn, SegmentReadState state)` |
    `static OffHeapQuantizedByteVectorValues` | OffHeapQuantizedByteVectorValues.`load​(OrdToDocDISIReaderConfiguration configuration, int dimension, int size, long quantizedVectorDataOffset, long quantizedVectorDataLength, IndexInput vectorData)` |
    `protected void` | Lucene99SkipReader.`readImpacts​(int level, IndexInput skipStream)` |
    `protected int` | Lucene99SkipReader.`readSkipData​(int level, IndexInput skipStream)` |

    Constructors in org.apache.lucene.codecs.lucene99 with parameters of type IndexInput
    Constructor | Description
    --- | ---
    `DenseOffHeapVectorValues​(int dimension, int size, IndexInput slice)` |
    `Lucene99SkipReader​(IndexInput skipStream, int maxSkipLevels, boolean hasPos, boolean hasOffsets, boolean hasPayloads)` |

  - ### Uses of IndexInput in org.apache.lucene.store

    Subclasses of IndexInput in org.apache.lucene.store
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `BufferedChecksumIndexInput` | Simple implementation of `ChecksumIndexInput` that wraps another input and delegates calls.
    `class` | `BufferedIndexInput` | Base implementation class for buffered `IndexInput`.
    `class` | `ByteBufferIndexInput` | Base IndexInput implementation that uses an array of ByteBuffers to represent a file.
    `class` | `ByteBuffersIndexInput` | An `IndexInput` implementing `RandomAccessInput` and backed by a `ByteBuffersDataInput`.
    `class` | `ChecksumIndexInput` | Extension of IndexInput, computing checksum as it goes.
    `class` | `FilterIndexInput` | IndexInput implementation that delegates calls to another directory.

    Fields in org.apache.lucene.store declared as IndexInput
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected IndexInput` | FilterIndexInput.`in` |

    Fields in org.apache.lucene.store with type parameters of type IndexInput
    Modifier and Type | Field | Description
    --- | --- | ---
    `static BiFunction<String,​ByteBuffersDataOutput,​IndexInput>` | ByteBuffersDirectory.`OUTPUT_AS_BYTE_ARRAY` |
    `static BiFunction<String,​ByteBuffersDataOutput,​IndexInput>` | ByteBuffersDirectory.`OUTPUT_AS_MANY_BUFFERS` |
    `static BiFunction<String,​ByteBuffersDataOutput,​IndexInput>` | ByteBuffersDirectory.`OUTPUT_AS_MANY_BUFFERS_LUCENE` |
    `static BiFunction<String,​ByteBuffersDataOutput,​IndexInput>` | ByteBuffersDirectory.`OUTPUT_AS_ONE_BUFFER` |

    Methods in org.apache.lucene.store that return IndexInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `IndexInput` | BufferedChecksumIndexInput.`clone()` |
    `IndexInput` | ByteBuffersIndexInput.`clone()` |
    `IndexInput` | IndexInput.`clone()` | Returns a clone of this stream.
    `IndexInput` | FilterIndexInput.`getDelegate()` | Gets the delegate that was passed in on creation
    `IndexInput` | ByteBuffersDirectory.`openInput​(String name, IOContext context)` |
    `abstract IndexInput` | Directory.`openInput​(String name, IOContext context)` | Opens a stream for reading an existing file.
    `IndexInput` | FileSwitchDirectory.`openInput​(String name, IOContext context)` |
    `IndexInput` | FilterDirectory.`openInput​(String name, IOContext context)` |
    `IndexInput` | MMapDirectory.`openInput​(String name, IOContext context)` | Creates an IndexInput for the file with the given name.
    `IndexInput` | NIOFSDirectory.`openInput​(String name, IOContext context)` |
    `IndexInput` | NRTCachingDirectory.`openInput​(String name, IOContext context)` |
    `IndexInput` | BufferedChecksumIndexInput.`slice​(String sliceDescription, long offset, long length)` |
    `IndexInput` | BufferedIndexInput.`slice​(String sliceDescription, long offset, long length)` |
    `IndexInput` | FilterIndexInput.`slice​(String sliceDescription, long offset, long length)` |
    `abstract IndexInput` | IndexInput.`slice​(String sliceDescription, long offset, long length)` | Creates a slice of this index input, with the given description, offset, and length.
    `static IndexInput` | FilterIndexInput.`unwrap​(IndexInput in)` | Unwraps all FilterIndexInputs until the first non-FilterIndexInput IndexInput instance and returns it

    Methods in org.apache.lucene.store with parameters of type IndexInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `static IndexInput` | FilterIndexInput.`unwrap​(IndexInput in)` | Unwraps all FilterIndexInputs until the first non-FilterIndexInput IndexInput instance and returns it
    `static BufferedIndexInput` | BufferedIndexInput.`wrap​(String sliceDescription, IndexInput other, long offset, long length)` | Wraps a portion of another IndexInput with buffering.

    Constructors in org.apache.lucene.store with parameters of type IndexInput
    Constructor | Description
    --- | ---
    `BufferedChecksumIndexInput​(IndexInput main)` | Creates a new BufferedChecksumIndexInput
    `FilterIndexInput​(String resourceDescription, IndexInput in)` | Creates a FilterIndexInput with a resource description and wrapped delegate IndexInput

    Constructor parameters in org.apache.lucene.store with type arguments of type IndexInput
    Constructor | Description
    --- | ---
    `ByteBuffersDirectory​(LockFactory factory, Supplier<ByteBuffersDataOutput> bbOutputSupplier, BiFunction<String,​ByteBuffersDataOutput,​IndexInput> outputToInput)` |

  - ### Uses of IndexInput in org.apache.lucene.util

    Methods in org.apache.lucene.util with parameters of type IndexInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | PagedBytes.`copy​(IndexInput in, long byteCount)` | Read this many bytes from in

  - ### Uses of IndexInput in org.apache.lucene.util.bkd

    Constructors in org.apache.lucene.util.bkd with parameters of type IndexInput
    Constructor | Description
    --- | ---
    `BKDReader​(IndexInput metaIn, IndexInput indexIn, IndexInput dataIn)` | Caller must pre-seek the provided `IndexInput` to the index location that `BKDWriter.finish(org.apache.lucene.store.IndexOutput, org.apache.lucene.store.IndexOutput, org.apache.lucene.store.IndexOutput)` returned.

  - ### Uses of IndexInput in org.apache.lucene.util.packed

    Methods in org.apache.lucene.util.packed with parameters of type IndexInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `static DirectMonotonicReader.Meta` | DirectMonotonicReader.`loadMeta​(IndexInput metaIn, long numValues, int blockShift)` | Load metadata from the given `IndexInput`.
    `static MonotonicBlockPackedReader` | MonotonicBlockPackedReader.`of​(IndexInput in, int packedIntsVersion, int blockSize, long valueCount)` | Sole constructor.