Package org.apache.lucene.store

# Class ChecksumIndexInput

java.lang.Object
org.apache.lucene.store.DataInput
org.apache.lucene.store.IndexInput
org.apache.lucene.store.ChecksumIndexInput

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `Cloneable`

Direct Known Subclasses:
  `BufferedChecksumIndexInput`

public abstract class ChecksumIndexInput extends IndexInput
Extension of IndexInput, computing checksum as it goes. Callers can retrieve the checksum via `getChecksum()`.

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `ChecksumIndexInput(String resourceDescription)`
  resourceDescription should be a non-null, opaque string describing this resource; it's returned from `IndexInput.toString()`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract long`
  `getChecksum()`
  Returns the current checksum value
  `void`
  `seek(long pos)`
  Sets current position in this file, where the next read will occur.

  ### Methods inherited from class org.apache.lucene.store.IndexInput

  `clone, close, getFilePointer, getFullSliceDescription, isLoaded, length, prefetch, randomAccessSlice, skipBytes, slice, slice, toString, updateIOContext`

  ### Methods inherited from class org.apache.lucene.store.DataInput

  `readByte, readBytes, readBytes, readFloats, readGroupVInt, readInt, readInts, readLong, readLongs, readMapOfStrings, readSetOfStrings, readShort, readString, readVInt, readVLong, readZInt, readZLong`

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

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

- ## Constructor Details

  - ### ChecksumIndexInput

    protected ChecksumIndexInput(String resourceDescription)
    resourceDescription should be a non-null, opaque string describing this resource; it's returned from `IndexInput.toString()`.

- ## Method Details

  - ### getChecksum

    public abstract long getChecksum() throws IOException
    Returns the current checksum value
    Throws:
      `IOException`

  - ### seek

    public void seek(long pos) throws IOException
    Sets current position in this file, where the next read will occur. If this is beyond the end of the file then this will throw `EOFException` and then the stream is in an undetermined state.

    `ChecksumIndexInput` can only seek forward and seeks are expensive since they imply to read bytes in-between the current position and the target position in order to update the checksum.

    Specified by:
      `seek` in class `IndexInput`
    Throws:
      `IOException`
    See Also:
      - `IndexInput.getFilePointer()`