## Uses of Class
org.apache.lucene.store.Directory

Packages that use Directory
org.apache.lucene.index: Code to maintain and access indices.
org.apache.lucene.search: Code to search indices.
org.apache.lucene.store: Binary i/o API, used for all index data.
org.apache.lucene.util: Some utility classes.

Uses of Directory in org.apache.lucene.index

Fields in org.apache.lucene.index declared as Directory
`protected Directory` `ConcurrentMergeScheduler.dir`
`Directory` `SegmentInfo.dir`
`Directory` `CheckIndex.Status.dir` Directory index is in.
`Directory` `SegmentWriteState.directory`

Methods in org.apache.lucene.index that return Directory
`Directory` `IndexReader.directory()` Returns the directory associated with this index.
`Directory` `FilterIndexReader.directory()`
`Directory` `SegmentReader.directory()` Returns the directory this index resides in.
`Directory` `MergePolicy.MergeException.getDirectory()` Returns the `Directory` of the index that hit the exception.
`Directory` `SnapshotDeletionPolicy.SnapshotCommitPoint.getDirectory()`
`abstract Directory` `IndexCommit.getDirectory()` Returns the `Directory` for the index.
`Directory` `CompoundFileWriter.getDirectory()` Returns the directory of the compound file.
`Directory` `IndexWriter.getDirectory()` Returns the Directory used by this index.

Methods in org.apache.lucene.index with parameters of type Directory
`void` `CompoundFileWriter.addFile(String file, Directory dir)` Same as `CompoundFileWriter.addFile(String)`, only for files that are found in an external `Directory`.
`void` `IndexWriter.addIndexes(Directory... dirs)` Adds all segments from an array of indexes into this index.
`void` `IndexWriter.addIndexesNoOptimize(Directory... dirs)` Deprecated. use `IndexWriter.addIndexes(Directory...)` instead
`Collection<String>` `SegmentInfos.files(Directory dir, boolean includeSegmentsFile)` Returns all file names referenced by SegmentInfo instances matching the provided Directory (ie files associated with any "external" segments are skipped).
`static SegmentReader` `SegmentReader.get(boolean readOnly, Directory dir, SegmentInfo si, int readBufferSize, boolean doOpenStores, int termInfosIndexDivisor)`
`static Map<String,String>` `IndexReader.getCommitUserData(Directory directory)` Deprecated. Call `IndexReader.getIndexCommit()` on an open IndexReader, and then call `IndexCommit.getUserData()`.
`static long` `IndexReader.getCurrentVersion(Directory directory)` Deprecated. Use `IndexReader.getVersion()` on an opened IndexReader.
`PayloadProcessorProvider.DirPayloadProcessor` `PayloadProcessorProvider.getDirProcessor(Directory dir)` Deprecated. Use `PayloadProcessorProvider.getReaderProcessor(org.apache.lucene.index.IndexReader)` instead. You can still select by `Directory`, if you retrieve the underlying directory from `IndexReader.directory()`.
`static long` `SegmentInfos.getLastCommitGeneration(Directory directory)` Get the generation of the most recent commit to the index in this directory (N in the segments_N file).
`static String` `SegmentInfos.getLastCommitSegmentsFileName(Directory directory)` Get the filename of the segments_N file for the most recent commit to the index in this Directory.
`static boolean` `IndexReader.indexExists(Directory directory)` Returns `true` if an index exists at the specified directory.
`static boolean` `IndexWriter.isLocked(Directory directory)` Returns `true` iff the index in the named directory is currently locked.
`static long` `IndexReader.lastModified(Directory directory2)` Deprecated. If you need to track commit time of an index, you can store it in the commit data (see `IndexWriter.commit(Map)`
`static Collection<IndexCommit>` `IndexReader.listCommits(Directory dir)` Returns all commit points that exist in the Directory.
`static IndexReader` `IndexReader.open(Directory directory)` Returns a IndexReader reading the index in the given Directory, with readOnly=true.
`static IndexReader` `IndexReader.open(Directory directory, boolean readOnly)` Deprecated. Write support will be removed in Lucene 4.0. Use `IndexReader.open(Directory)` instead
`static IndexReader` `IndexReader.open(Directory directory, IndexDeletionPolicy deletionPolicy, boolean readOnly)` Deprecated. Write support will be removed in Lucene 4.0. Use `IndexReader.open(Directory)` instead
`static IndexReader` `IndexReader.open(Directory directory, IndexDeletionPolicy deletionPolicy, boolean readOnly, int termInfosIndexDivisor)` Deprecated. Write support will be removed in Lucene 4.0. Use `IndexReader.open(Directory,int)` instead
`static IndexReader` `IndexReader.open(Directory directory, int termInfosIndexDivisor)` Expert: Returns a IndexReader reading the index in the given Director and given termInfosIndexDivisor
`void` `SegmentInfos.read(Directory directory)` This version of read uses the retry logic (for lock-less commits) to find the right segments file to load.
`void` `SegmentInfos.read(Directory directory, String segmentFileName)` Read a particular segmentFileName.
`static long` `SegmentInfos.readCurrentVersion(Directory directory)` Deprecated. Load the SegmentInfos and then call `SegmentInfos.getVersion()`.
`static Map<String,String>` `PersistentSnapshotDeletionPolicy.readSnapshotsInfo(Directory dir)` Reads the snapshots information from the given `Directory`.
`String` `MergePolicy.OneMerge.segString(Directory dir)`
`String` `MergePolicy.MergeSpecification.segString(Directory dir)`
`String` `SegmentInfos.toString(Directory directory)`
`String` `SegmentInfo.toString(Directory dir, int pendingDelCount)` Used for debugging.
`static void` `IndexWriter.unlock(Directory directory)` Forcibly unlocks the index in the named directory.
`void` `FieldInfos.write(Directory d, String name)`

Constructors in org.apache.lucene.index with parameters of type Directory
`CheckIndex(Directory dir)` Create a new CheckIndex on the directory.
`CompoundFileWriter(Directory dir, String name)` Create the compound stream in the specified file.
`FieldInfos(Directory d, String name)` Construct a FieldInfos object using the directory and the name of the file IndexInput
`IndexUpgrader(Directory dir, IndexWriterConfig iwc, PrintStream infoStream, boolean deletePriorCommits)` Creates index upgrader on the given directory, using an `IndexWriter` using the given config.
`IndexUpgrader(Directory dir, Version matchVersion)` Creates index upgrader on the given directory, using an `IndexWriter` using the given `matchVersion`.
`IndexUpgrader(Directory dir, Version matchVersion, PrintStream infoStream, boolean deletePriorCommits)` Creates index upgrader on the given directory, using an `IndexWriter` using the given `matchVersion`.
`IndexWriter(Directory d, Analyzer a, boolean create, IndexDeletionPolicy deletionPolicy, IndexWriter.MaxFieldLength mfl)` Deprecated. use `IndexWriter.IndexWriter(Directory, IndexWriterConfig)` instead
`IndexWriter(Directory d, Analyzer a, boolean create, IndexWriter.MaxFieldLength mfl)` Deprecated. use `IndexWriter.IndexWriter(Directory, IndexWriterConfig)` instead
`IndexWriter(Directory d, Analyzer a, IndexDeletionPolicy deletionPolicy, IndexWriter.MaxFieldLength mfl)` Deprecated. use `IndexWriter.IndexWriter(Directory, IndexWriterConfig)` instead
`IndexWriter(Directory d, Analyzer a, IndexDeletionPolicy deletionPolicy, IndexWriter.MaxFieldLength mfl, IndexCommit commit)` Deprecated. use `IndexWriter.IndexWriter(Directory, IndexWriterConfig)` instead
`IndexWriter(Directory d, Analyzer a, IndexWriter.MaxFieldLength mfl)` Deprecated. use `IndexWriter.IndexWriter(Directory, IndexWriterConfig)` instead
`IndexWriter(Directory d, IndexWriterConfig conf)` Constructs a new IndexWriter per the settings given in `conf`.
`MergePolicy.MergeException(String message, Directory dir)`
`MergePolicy.MergeException(Throwable exc, Directory dir)`
`PersistentSnapshotDeletionPolicy(IndexDeletionPolicy primary, Directory dir, IndexWriterConfig.OpenMode mode, Version matchVersion)` `PersistentSnapshotDeletionPolicy` wraps another `IndexDeletionPolicy` to enable flexible snapshotting.
`SegmentInfo(String name, int docCount, Directory dir, boolean isCompoundFile, boolean hasSingleNormFile, boolean hasProx, boolean hasVectors)`
`SegmentInfos.FindSegmentsFile(Directory directory)`
`SegmentWriteState(PrintStream infoStream, Directory directory, String segmentName, FieldInfos fieldInfos, int numDocs, int termIndexInterval, org.apache.lucene.index.BufferedDeletes segDeletes)`

Uses of Directory in org.apache.lucene.search

Methods in org.apache.lucene.search with parameters of type Directory
`long` `NRTManager.TrackingIndexWriter.addIndexes(Directory... dirs)`

Constructors in org.apache.lucene.search with parameters of type Directory
`IndexSearcher(Directory path)` Deprecated. use `IndexSearcher.IndexSearcher(IndexReader)` instead.
`IndexSearcher(Directory path, boolean readOnly)` Deprecated. Use `IndexSearcher.IndexSearcher(IndexReader)` instead.
`SearcherManager(Directory dir, SearcherFactory searcherFactory)` Creates and returns a new SearcherManager from the given `Directory`.

Uses of Directory in org.apache.lucene.store

Subclasses of Directory in org.apache.lucene.store
`class` `FileSwitchDirectory` Expert: A Directory instance that switches files between two other Directory instances.
`class` `FSDirectory` Base class for Directory implementations that store index files in the file system.
`class` `MMapDirectory` File-based `Directory` implementation that uses mmap for reading, and `FSDirectory.FSIndexOutput` for writing.
`class` `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.
`class` `NRTCachingDirectory` Wraps a `RAMDirectory` around any provided delegate directory, to be used during NRT search.
`class` `RAMDirectory` A memory-resident `Directory` implementation.
`class` `SimpleFSDirectory` A straightforward implementation of `FSDirectory` using java.io.RandomAccessFile.

Methods in org.apache.lucene.store that return Directory
`Directory` `FileSwitchDirectory.getPrimaryDir()` Return the primary directory
`Directory` `FileSwitchDirectory.getSecondaryDir()` Return the secondary directory

Methods in org.apache.lucene.store with parameters of type Directory

`static void`

`Directory.copy(Directory src, Directory dest, boolean closeDirSrc)`
Deprecated. should be replaced with calls to `copy(Directory, String, String)` for every file that needs copying. You can use the following code:

     IndexFileNameFilter filter = IndexFileNameFilter.getFilter();
     for (String file : src.listAll()) {
       if (filter.accept(null, file)) {
         src.copy(dest, file, file);
       }
     }

`void` `Directory.copy(Directory to, String src, String dest)` Copies the file src to `Directory` to under the new file name dest.

Constructors in org.apache.lucene.store with parameters of type Directory
`FileSwitchDirectory(Set<String> primaryExtensions, Directory primaryDir, Directory secondaryDir, boolean doClose)`
`NRTCachingDirectory(Directory delegate, double maxMergeSizeMB, double maxCachedMB)` We will cache a newly created output if 1) it's a flush or a merge and the estimated size of the merged segment is <= maxMergeSizeMB, and 2) the total cached bytes is <= maxCachedMB
`RAMDirectory(Directory dir)` Creates a new `RAMDirectory` instance from a different `Directory` implementation.

Uses of Directory in org.apache.lucene.util

Methods in org.apache.lucene.util that return types with arguments of type Directory
`static Class<? extends Directory>` `CommandLineUtil.loadDirectoryClass(String clazzName)` Loads a specific Directory implementation

Methods in org.apache.lucene.util with parameters of type Directory
`void` `BitVector.write(Directory d, String name)` Writes this vector to the file `name` in Directory `d`, in a format that can be read by the constructor `BitVector.BitVector(Directory, String)`.

Constructors in org.apache.lucene.util with parameters of type Directory
`BitVector(Directory d, String name)` Constructs a bit vector from the file `name` in Directory `d`, as written by the `BitVector.write(org.apache.lucene.store.Directory, java.lang.String)` method.