# Package org.apache.lucene.store

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

See: Description

- Class Summary
  Class | Description
  --- | ---
  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 | Reads bytes through to a primary IndexInput, computing checksum as it goes.
  ChecksumIndexOutput | Writes bytes through to a primary IndexOutput, computing checksum.
  CompoundFileDirectory | Class for accessing a compound stream.
  CompoundFileDirectory.FileEntry | Offset/Length for a slice inside of a compound file
  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 is a flat list of files.
  FileSwitchDirectory | Expert: A Directory instance that switches files between two other Directory instances.
  FlushInfo | A FlushInfo provides information required for a FLUSH context.
  FSDirectory | Base class for Directory implementations that store index files in the file system.
  FSDirectory.FSIndexInput | Base class for reading input from a RandomAccessFile
  FSDirectory.FSIndexOutput | Writes output with `RandomAccessFile.write(byte[], int, int)`
  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`.
  IOContext | IOContext holds additional details on the merge/search context.
  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`.
  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.
  NIOFSDirectory.NIOFSIndexInput | Reads bytes with `FileChannel.read(ByteBuffer, long)`
  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 | Represents a file in RAM as a list of byte[] buffers.
  RAMInputStream | A memory-resident `IndexInput` implementation.
  RAMOutputStream | A memory-resident `IndexOutput` implementation.
  RateLimitedDirectoryWrapper | A `Directory` wrapper that allows `IndexOutput` rate limiting using `IO context` specific `rate limiters`.
  RateLimiter | Abstract base class to rate limit IO.
  RateLimiter.SimpleRateLimiter | Simple class to rate limit IO.
  SimpleFSDirectory | A straightforward implementation of `FSDirectory` using java.io.RandomAccessFile.
  SimpleFSDirectory.SimpleFSIndexInput | Reads bytes with `RandomAccessFile.seek(long)` followed by `RandomAccessFile.read(byte[], int, int)`.
  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.
  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).

- Enum Summary
  Enum | Description
  --- | ---
  IOContext.Context | Context is a enumerator which specifies the context in which the Directory is being used for.

- Exception Summary
  Exception | Description
  --- | ---
  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.

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.