# Package org.apache.lucene.store

package org.apache.lucene.store
Binary i/o API, used for all index data.

Class
Description
AlreadyClosedException
This exception is thrown when there is an attempt to access something that has already been closed.
BaseDirectory
Base implementation for a concrete `Directory` that uses a `LockFactory` for locking.
BufferedChecksum
Wraps another `Checksum` with an internal buffer to speed up checksum calculations.
BufferedChecksumIndexInput
Simple implementation of `ChecksumIndexInput` that wraps another input and delegates calls.
BufferedIndexInput
Base implementation class for buffered `IndexInput`.
ByteArrayDataInput
DataInput backed by a byte array.
ByteArrayDataOutput
DataOutput backed by a byte array.
ByteBuffersDataInput
A `DataInput` implementing `RandomAccessInput` and reading data from a list of `ByteBuffer`s.
ByteBuffersDataOutput
A `DataOutput` storing data in a list of `ByteBuffer`s.
ByteBuffersDataOutput.ByteBufferRecycler
An implementation of a `ByteBuffer` allocation and recycling policy.
ByteBuffersDirectory
A `ByteBuffer`-based `Directory` implementation that can be used to store index files on the heap.
ByteBuffersIndexInput
An `IndexInput` implementing `RandomAccessInput` and backed by a `ByteBuffersDataInput`.
ByteBuffersIndexOutput
An `IndexOutput` writing to a `ByteBuffersDataOutput`.
ChecksumIndexInput
Extension of IndexInput, computing checksum as it goes.
DataInput
Abstract base class for performing read operations of Lucene's low-level data types.
DataOutput
Abstract base class for performing write operations of Lucene's low-level data types.
Directory
A `Directory` provides an abstraction layer for storing a list of files.
FileSwitchDirectory
Expert: A Directory instance that switches files between two other Directory instances.
FilterDirectory
Directory implementation that delegates calls to another directory.
FilterIndexInput
IndexInput implementation that delegates calls to another directory.
FilterIndexOutput
IndexOutput implementation that delegates calls to another directory.
FlushInfo
A FlushInfo provides information required for a FLUSH context.
FSDirectory
Base class for Directory implementations that store index files in the file system.
FSLockFactory
Base class for file system based locking implementation.
IndexInput
Abstract base class for input from a file in a `Directory`.
IndexOutput
A `DataOutput` for appending data to a file in a `Directory`.
InputStreamDataInput
A `DataInput` wrapping a plain `InputStream`.
IOContext
IOContext holds additional details on the merge/search context.
IOContext.Context
Context is a enumerator which specifies the context in which the Directory is being used for.
Lock
An interprocess mutex lock.
LockFactory
Base class for Locking implementation.
LockObtainFailedException
This exception is thrown when the `write.lock` could not be acquired.
LockReleaseFailedException
This exception is thrown when the `write.lock` could not be released.
LockStressTest
Simple standalone tool that forever acquires and releases a lock using a specific `LockFactory`.
LockValidatingDirectoryWrapper
This class makes a best-effort check that a provided `Lock` is valid before any destructive filesystem operation.
LockVerifyServer
Simple standalone server that must be running when you use `VerifyingLockFactory`.
MergeInfo
A MergeInfo provides information required for a MERGE context.
MMapDirectory
File-based `Directory` implementation that uses mmap for reading, and `FSDirectory.FSIndexOutput` for writing.
NativeFSLockFactory
Implements `LockFactory` using native OS file locks.
NIOFSDirectory
An `FSDirectory` implementation that uses java.nio's FileChannel's positional read, which allows multiple threads to read from the same file without synchronizing.
NoLockFactory
Use this `LockFactory` to disable locking entirely.
NRTCachingDirectory
Wraps a RAM-resident directory around any provided delegate directory, to be used during NRT search.
OutputStreamDataOutput
A `DataOutput` wrapping a plain `OutputStream`.
OutputStreamIndexOutput
Implementation class for buffered `IndexOutput` that writes to an `OutputStream`.
RandomAccessInput
Random Access Index API.
RateLimitedIndexOutput
A `rate limiting` `IndexOutput`
RateLimiter
Abstract base class to rate limit IO.
RateLimiter.SimpleRateLimiter
Simple class to rate limit IO.
ReadAdvice
Advice regarding the read access pattern.
SimpleFSLockFactory
Implements `LockFactory` using `Files.createFile(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...)`.
SingleInstanceLockFactory
Implements `LockFactory` for a single in-process instance, meaning all locking will take place through this one instance.
SleepingLockWrapper
Directory that wraps another, and that sleeps and retries if obtaining the lock fails.
TrackingDirectoryWrapper
A delegating Directory that records which files were written to and deleted.
VerifyingLockFactory
A `LockFactory` that wraps another `LockFactory` and verifies that each lock obtain/release is "correct" (never results in two processes holding the lock at the same time).