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, length, prefetch, randomAccessSlice, skipBytes, slice, slice, toString`

### 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()`