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 and Description
`BufferedChecksumIndexInput(IndexInput main)` Creates a new BufferedChecksumIndexInput

### Method Summary

All Methods Instance Methods Concrete Methods
`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, randomAccessSlice, toString`

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

`readBytes, readInt, readLELongs, readLong, readMapOfStrings, readSetOfStrings, readShort, readString, readVInt, readVLong, readZInt, readZLong, skipBytes`

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

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

### Constructor Detail

#### BufferedChecksumIndexInput

    public BufferedChecksumIndexInput(IndexInput main)

Creates a new BufferedChecksumIndexInput

### Method Detail

#### 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 `Closeable`
Specified by:
  `close` in interface `AutoCloseable`
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`