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

- Packages that use DataInput
  Package | Description
  --- | ---
  org.apache.lucene.codecs | Codecs API: API for customization of the encoding and structure of the index.
  org.apache.lucene.codecs.compressing | Compressing helper classes.
  org.apache.lucene.codecs.lucene90.compressing | Lucene 9.0 compressing format.
  org.apache.lucene.codecs.lucene99 | Lucene 9.9 file format.
  org.apache.lucene.index | Code to maintain and access indices.
  org.apache.lucene.search | Code to search indices.
  org.apache.lucene.store | Binary i/o API, used for all index data.
  org.apache.lucene.util | Some utility classes.
  org.apache.lucene.util.compress | Compression utilities.
  org.apache.lucene.util.fst | Finite state transducers
  org.apache.lucene.util.packed | Packed integer arrays and streams.

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

    Methods in org.apache.lucene.codecs with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | TermVectorsWriter.`addProx​(int numProx, DataInput positions, DataInput offsets)` | Called by IndexWriter when writing new segments.
    `void` | StoredFieldsWriter.MergeVisitor.`binaryField​(FieldInfo fieldInfo, DataInput value, int length)` |
    `static int` | CodecUtil.`checkHeader​(DataInput in, String codec, int minVersion, int maxVersion)` | Reads and validates a header previously written with `CodecUtil.writeHeader(DataOutput, String, int)`.
    `static int` | CodecUtil.`checkHeaderNoMagic​(DataInput in, String codec, int minVersion, int maxVersion)` | Like `CodecUtil.checkHeader(DataInput,String,int,int)` except this version assumes the first int has already been read and validated from the input.
    `static int` | CodecUtil.`checkIndexHeader​(DataInput in, String codec, int minVersion, int maxVersion, byte[] expectedID, String expectedSuffix)` | Reads and validates a header previously written with `CodecUtil.writeIndexHeader(DataOutput, String, int, byte[], String)`.
    `static byte[]` | CodecUtil.`checkIndexHeaderID​(DataInput in, byte[] expectedID)` | Expert: just reads and verifies the object ID of an index header
    `static String` | CodecUtil.`checkIndexHeaderSuffix​(DataInput in, String expectedSuffix)` | Expert: just reads and verifies the suffix of an index header
    `abstract void` | PostingsReaderBase.`decodeTerm​(DataInput in, FieldInfo fieldInfo, BlockTermState state, boolean absolute)` | Actually decode metadata for next term
    `static int` | CodecUtil.`readBEInt​(DataInput in)` | read int value from header / footer with big endian order
    `static long` | CodecUtil.`readBELong​(DataInput in)` | read long value from header / footer with big endian order
    `void` | StoredFieldsWriter.`writeField​(FieldInfo info, DataInput value, int length)` | Writes a stored binary value from a `DataInput` and a `length`.

  - ### Uses of DataInput in org.apache.lucene.codecs.compressing

    Methods in org.apache.lucene.codecs.compressing with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract void` | Decompressor.`decompress​(DataInput in, int originalLength, int offset, int length, BytesRef bytes)` | Decompress bytes that were stored between offsets `offset` and `offset+length` in the original stream from the compressed stream `in` to `bytes` .

  - ### Uses of DataInput in org.apache.lucene.codecs.lucene90.compressing

    Methods in org.apache.lucene.codecs.lucene90.compressing with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | Lucene90CompressingTermVectorsWriter.`addProx​(int numProx, DataInput positions, DataInput offsets)` |
    `void` | Lucene90CompressingStoredFieldsWriter.`writeField​(FieldInfo info, DataInput value, int length)` |

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

    Methods in org.apache.lucene.codecs.lucene99 with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | Lucene99PostingsReader.`decodeTerm​(DataInput in, FieldInfo fieldInfo, BlockTermState _termState, boolean absolute)` |
    `static VectorSimilarityFunction` | Lucene99HnswVectorsReader.`readSimilarityFunction​(DataInput input)` |
    `static VectorEncoding` | Lucene99HnswVectorsReader.`readVectorEncoding​(DataInput input)` |

  - ### Uses of DataInput in org.apache.lucene.index

    Methods in org.apache.lucene.index with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | StoredFieldVisitor.`binaryField​(FieldInfo fieldInfo, DataInput value, int length)` | Expert: Process a binary field directly from the `DataInput`.
    `abstract SortField` | SortFieldProvider.`readSortField​(DataInput in)` | Reads a SortField from serialized bytes

    Constructors in org.apache.lucene.index with parameters of type DataInput
    Constructor | Description
    --- | ---
    `CorruptIndexException​(String message, DataInput input)` | Create exception with a message only
    `CorruptIndexException​(String message, DataInput input, Throwable cause)` | Create exception with message and root cause.
    `IndexFormatTooNewException​(DataInput in, int version, int minVersion, int maxVersion)` | Creates an `IndexFormatTooNewException`
    `IndexFormatTooOldException​(DataInput in, int version, int minVersion, int maxVersion)` | Creates an `IndexFormatTooOldException`.
    `IndexFormatTooOldException​(DataInput in, String reason)` | Creates an `IndexFormatTooOldException`.

  - ### Uses of DataInput in org.apache.lucene.search

    Methods in org.apache.lucene.search with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `SortField` | SortedNumericSortField.Provider.`readSortField​(DataInput in)` |
    `SortField` | SortedSetSortField.Provider.`readSortField​(DataInput in)` |
    `SortField` | SortField.Provider.`readSortField​(DataInput in)` |
    `protected static SortField.Type` | SortField.`readType​(DataInput in)` |

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

    Subclasses of DataInput 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` | `ByteArrayDataInput` | DataInput backed by a byte array.
    `class` | `ByteBufferIndexInput` | Base IndexInput implementation that uses an array of ByteBuffers to represent a file.
    `class` | `ByteBuffersDataInput` | A `DataInput` implementing `RandomAccessInput` and reading data from a list of `ByteBuffer`s.
    `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.
    `class` | `IndexInput` | Abstract base class for input from a file in a `Directory`.
    `class` | `InputStreamDataInput` | A `DataInput` wrapping a plain `InputStream`.

    Methods in org.apache.lucene.store that return DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `DataInput` | DataInput.`clone()` | Returns a clone of this stream.

    Methods in org.apache.lucene.store with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | ByteBuffersDataOutput.`copyBytes​(DataInput input, long numBytes)` |
    `void` | ByteBuffersIndexOutput.`copyBytes​(DataInput input, long numBytes)` |
    `void` | DataOutput.`copyBytes​(DataInput input, long numBytes)` | Copy numBytes bytes from input to ourself.

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

    Subclasses of DataInput in org.apache.lucene.util
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `PagedBytes.PagedBytesDataInput` | Input that transparently iterates over pages

    Methods in org.apache.lucene.util with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | GroupVIntUtil.`readGroupVInt​(DataInput in, long[] dst, int offset)` | Default implementation of read single group, for optimal performance, you should use `readGroupVInts(long[], int)` instead.
    `static int` | GroupVIntUtil.`readGroupVInt​(DataInput in, long remaining, GroupVIntUtil.IntReader reader, long pos, long[] dst, int offset)` | Faster implementation of read single group, It read values from the buffer that would not cross boundaries.

  - ### Uses of DataInput in org.apache.lucene.util.compress

    Methods in org.apache.lucene.util.compress with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | LowercaseAsciiCompression.`decompress​(DataInput in, byte[] out, int len)` | Decompress data that has been compressed with `LowercaseAsciiCompression.compress(byte[], int, byte[], DataOutput)`.
    `static int` | LZ4.`decompress​(DataInput compressed, int decompressedLen, byte[] dest, int dOff)` | Decompress at least `decompressedLen` bytes into `dest[dOff:]`.

  - ### Uses of DataInput in org.apache.lucene.util.fst

    Subclasses of DataInput in org.apache.lucene.util.fst
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `FST.BytesReader` | Reads bytes stored in an FST.

    Methods in org.apache.lucene.util.fst with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `FSTStore` | FSTStore.`init​(DataInput in, long numBytes)` | Initialize the FSTStore
    `FSTStore` | OffHeapFSTStore.`init​(DataInput in, long numBytes)` |
    `FSTStore` | OnHeapFSTStore.`init​(DataInput in, long numBytes)` |
    `BytesRef` | ByteSequenceOutputs.`read​(DataInput in)` |
    `CharsRef` | CharSequenceOutputs.`read​(DataInput in)` |
    `IntsRef` | IntSequenceOutputs.`read​(DataInput in)` |
    `Object` | NoOutputs.`read​(DataInput in)` |
    `abstract T` | Outputs.`read​(DataInput in)` | Decode an output value previously written with `Outputs.write(Object, DataOutput)`.
    `PairOutputs.Pair<A,​B>` | PairOutputs.`read​(DataInput in)` |
    `Long` | PositiveIntOutputs.`read​(DataInput in)` |
    `T` | Outputs.`readFinalOutput​(DataInput in)` | Decode an output value previously written with `Outputs.writeFinalOutput(Object, DataOutput)`.
    `int` | FST.`readLabel​(DataInput in)` | Reads one BYTE1/2/4 label from the provided `DataInput`.
    `static <T> FST.FSTMetadata<T>` | FST.`readMetadata​(DataInput metaIn, Outputs<T> outputs)` | Read the FST metadata from DataInput
    `void` | Outputs.`skipFinalOutput​(DataInput in)` | Skip the output previously written with `Outputs.writeFinalOutput(T, org.apache.lucene.store.DataOutput)`; defaults to just calling `Outputs.readFinalOutput(org.apache.lucene.store.DataInput)` and discarding the result.
    `void` | ByteSequenceOutputs.`skipOutput​(DataInput in)` |
    `void` | CharSequenceOutputs.`skipOutput​(DataInput in)` |
    `void` | IntSequenceOutputs.`skipOutput​(DataInput in)` |
    `void` | Outputs.`skipOutput​(DataInput in)` | Skip the output; defaults to just calling `Outputs.read(org.apache.lucene.store.DataInput)` and discarding the result.
    `void` | PairOutputs.`skipOutput​(DataInput in)` |

    Constructors in org.apache.lucene.util.fst with parameters of type DataInput
    Constructor | Description
    --- | ---
    `FST​(FST.FSTMetadata<T> metadata, DataInput in)` | Load a previously saved FST with a DataInput for metdata using an `OnHeapFSTStore` with maxBlockBits set to `FST.DEFAULT_MAX_BLOCK_BITS`
    `FST​(FST.FSTMetadata<T> metadata, DataInput in, FSTStore fstStore)` | Load a previously saved FST with a metdata object and a FSTStore.

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

    Methods in org.apache.lucene.util.packed with parameters of type DataInput
    Modifier and Type | Method | Description
    --- | --- | ---
    `static PackedInts.ReaderIterator` | PackedInts.`getReaderIteratorNoHeader​(DataInput in, PackedInts.Format format, int version, int valueCount, int bitsPerValue, int mem)` | Expert: Restore a `PackedInts.ReaderIterator` from a stream without reading metadata at the beginning of the stream.
    `void` | BlockPackedReaderIterator.`reset​(DataInput in, long valueCount)` | Reset the current reader to wrap a stream of `valueCount` values contained in `in`.

    Constructors in org.apache.lucene.util.packed with parameters of type DataInput
    Constructor | Description
    --- | ---
    `BlockPackedReaderIterator​(DataInput in, int packedIntsVersion, int blockSize, long valueCount)` | Sole constructor.
    `PackedDataInput​(DataInput in)` | Create a new instance that wraps `in`.