## Package org.apache.lucene.store

Binary i/o API, used for all index data.

See:
Description

Class Summary
_TestHelper: This class provides access to package-level features defined in the store package.
BufferedIndexInput: Base implementation class for buffered `IndexInput`.
BufferedIndexOutput: Base implementation class for buffered `IndexOutput`.
ByteArrayDataInput: DataInput backed by a byte array.
ByteArrayDataOutput: DataOutput backed by a byte array.
ChecksumIndexInput: Writes bytes through to a primary IndexOutput, computing checksum as it goes.
ChecksumIndexOutput: Writes bytes through to a primary IndexOutput, computing checksum.
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.
DirectIOLinuxDirectory: An `Directory` implementation that uses the Linux-specific O_DIRECT flag to bypass all OS level caching.
Directory: A Directory is a flat list of files.
FileSwitchDirectory: Expert: A Directory instance that switches files between two other Directory instances.
FSDirectory: Base class for Directory implementations that store index files in the file system.
FSDirectory.FSIndexOutput
FSLockFactory: Base class for file system based locking implementation.
IndexInput: Abstract base class for input from a file in a `Directory`.
IndexOutput: Abstract base class for output to a file in a Directory.
InputStreamDataInput: A `DataInput` wrapping a plain `InputStream`.
Lock: An interprocess mutex lock.
Lock.With: Utility class for executing code with exclusive access.
LockFactory: Base class for Locking implementation.
LockStressTest: Simple standalone tool that forever acquires & releases a lock using a specific LockFactory.
LockVerifyServer: Simple standalone server that must be running when you use `VerifyingLockFactory`.
MMapDirectory: File-based `Directory` implementation that uses mmap for reading, and `FSDirectory.FSIndexOutput` for writing.
MockDirectoryWrapper: This is a Directory Wrapper that adds methods intended to be used only by unit tests.
MockDirectoryWrapper.Failure: Objects that represent fail-able conditions.
MockIndexInputWrapper: Used by MockDirectoryWrapper to create an input stream that keeps track of when it's been closed.
MockIndexOutputWrapper: Used by MockRAMDirectory to create an output stream that will throw an IOException on fake disk full, track max disk space actually used, and maybe throw random IOExceptions.
MockLockFactoryWrapper: Used by MockDirectoryWrapper to wrap another factory and track open locks.
NativeFSLockFactory: Implements `LockFactory` using native OS file locks.
NativePosixUtil
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.
NIOFSDirectory.NIOFSIndexInput
NoLockFactory: Use this `LockFactory` to disable locking entirely.
NRTCachingDirectory: Wraps a `RAMDirectory` around any provided delegate directory, to be used during NRT search.
OutputStreamDataOutput: A `DataOutput` wrapping a plain `OutputStream`.
RAMDirectory: A memory-resident `Directory` implementation.
RAMFile
RAMInputStream: A memory-resident `IndexInput` implementation.
RAMOutputStream: A memory-resident `IndexOutput` implementation.
SimpleFSDirectory: A straightforward implementation of `FSDirectory` using java.io.RandomAccessFile.
SimpleFSDirectory.SimpleFSIndexInput
SimpleFSDirectory.SimpleFSIndexInput.Descriptor
SimpleFSLockFactory: Implements `LockFactory` using `File.createNewFile()`.
SingleInstanceLockFactory: Implements `LockFactory` for a single in-process instance, meaning all locking will take place through this one instance.
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).
WindowsDirectory: Native `Directory` implementation for Microsoft Windows.
WindowsDirectory.WindowsIndexInput

Enum Summary
MockDirectoryWrapper.Throttling

Exception Summary
AlreadyClosedException: This exception is thrown when there is an attempt to access something that has already been closed.
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.
NoSuchDirectoryException: This exception is thrown when you try to list a non-existent directory.

## Package org.apache.lucene.store Description

Binary i/o API, used for all index data.