Package org.apache.lucene.store

# Class BufferedChecksumIndexInput

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

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

public class BufferedChecksumIndexInput extends ChecksumIndexInput
Simple implementation of `ChecksumIndexInput` that wraps another input and delegates calls.

## Constructor Summary

Constructors
Constructor
Description
`BufferedChecksumIndexInput(IndexInput main)`
Creates a new BufferedChecksumIndexInput

## Method Summary

Modifier and Type
Method
Description
`IndexInput`
`clone()`
Returns a clone of this stream.
`void`
`close()`
Closes the stream to further operations.
`long`
`getChecksum()`
Returns the current checksum value
`long`
`getFilePointer()`
Returns the current position in this file, where the next read will occur.
`long`
`length()`
The number of bytes in the file.
`byte`
`readByte()`
Reads and returns a single byte.
`void`
`readBytes(byte[] b, int offset, int len)`
Reads a specified number of bytes into an array at the specified offset.
`IndexInput`
`slice(String sliceDescription, long offset, long length)`
Creates a slice of this index input, with the given description, offset, and length.

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

`seek`

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

`getFullSliceDescription, prefetch, randomAccessSlice, skipBytes, slice, toString`

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

`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

### BufferedChecksumIndexInput

public BufferedChecksumIndexInput(IndexInput main)
Creates a new BufferedChecksumIndexInput

## Method Details

### readByte

public byte readByte() throws IOException
Description copied from class: `DataInput`
Reads and returns a single byte.

Specified by:
  `readByte` in class `DataInput`
Throws:
  `IOException`
See Also:
  - `DataOutput.writeByte(byte)`

### readBytes

public void readBytes(byte[] b, int offset, int len) throws IOException
Description copied from class: `DataInput`
Reads a specified number of bytes into an array at the specified offset.

Specified by:
  `readBytes` in class `DataInput`
Parameters:
  `b` - the array to read bytes into
  `offset` - the offset in the array to start storing bytes
  `len` - the number of bytes to read
Throws:
  `IOException`
See Also:
  - `DataOutput.writeBytes(byte[],int)`

### getChecksum

public long getChecksum()
Description copied from class: `ChecksumIndexInput`
Returns the current checksum value

Specified by:
  `getChecksum` in class `ChecksumIndexInput`

### close

public void close() throws IOException
Description copied from class: `IndexInput`
Closes the stream to further operations.

Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in class `IndexInput`
Throws:
  `IOException`

### getFilePointer

public long getFilePointer()
Description copied from class: `IndexInput`
Returns the current position in this file, where the next read will occur.

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

### length

public long length()
Description copied from class: `IndexInput`
The number of bytes in the file.

Specified by:
  `length` in class `IndexInput`

### clone

public IndexInput clone()
Description copied from class: `IndexInput`
Returns a clone of this stream.

Clones of a stream access the same data, and are positioned at the same point as the stream they were cloned from.

Expert: Subclasses must ensure that clones may be positioned at different points in the input from each other and from the stream they were cloned from.

Warning: Lucene never closes cloned `IndexInput`s, it will only call `IndexInput.close()` on the original object.

If you access the cloned IndexInput after closing the original object, any `readXXX` methods will throw `AlreadyClosedException`.

This method is NOT thread safe, so if the current `IndexInput` is being used by one thread while `clone` is called by another, disaster could strike.

Overrides:
  `clone` in class `IndexInput`

### slice

public IndexInput slice(String sliceDescription, long offset, long length) throws IOException
Description copied from class: `IndexInput`
Creates a slice of this index input, with the given description, offset, and length. The slice is sought to the beginning.

Specified by:
  `slice` in class `IndexInput`
Throws:
  `IOException`