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

- Packages that use LockFactory
  Package | Description
  --- | ---
  org.apache.lucene.store | Binary i/o API, used for all index data.
  org.apache.lucene.util | Some utility classes.

- - ### Uses of LockFactory in org.apache.lucene.store

    Subclasses of LockFactory in org.apache.lucene.store
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `FSLockFactory` | Base class for file system based locking implementation.
    `class` | `NativeFSLockFactory` | Implements `LockFactory` using native OS file locks.
    `class` | `NoLockFactory` | Use this `LockFactory` to disable locking entirely.
    `class` | `SimpleFSLockFactory` | Implements `LockFactory` using `Files.createFile(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...)`.
    `class` | `SingleInstanceLockFactory` | Implements `LockFactory` for a single in-process instance, meaning all locking will take place through this one instance.
    `class` | `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).

    Fields in org.apache.lucene.store declared as LockFactory
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected LockFactory` | BaseDirectory.`lockFactory` | Holds the LockFactory instance (implements locking for this Directory instance).

    Methods in org.apache.lucene.store with parameters of type LockFactory
    Modifier and Type | Method | Description
    --- | --- | ---
    `static FSDirectory` | FSDirectory.`open​(Path path, LockFactory lockFactory)` | Just like `FSDirectory.open(Path)`, but allows you to also specify a custom `LockFactory`.

    Constructors in org.apache.lucene.store with parameters of type LockFactory
    Constructor | Description
    --- | ---
    `BaseDirectory​(LockFactory lockFactory)` | Sole constructor.
    `ByteBuffersDirectory​(LockFactory lockFactory)` |
    `ByteBuffersDirectory​(LockFactory factory, Supplier<ByteBuffersDataOutput> bbOutputSupplier, BiFunction<String,​ByteBuffersDataOutput,​IndexInput> outputToInput)` |
    `FSDirectory​(Path path, LockFactory lockFactory)` | Create a new FSDirectory for the named location (ctor for subclasses).
    `MMapDirectory​(Path path, LockFactory lockFactory)` | Create a new MMapDirectory for the named location.
    `MMapDirectory​(Path path, LockFactory lockFactory, int maxChunkSize)` | Deprecated. use `MMapDirectory(Path, LockFactory, long)` instead.
    `MMapDirectory​(Path path, LockFactory lockFactory, long maxChunkSize)` | Create a new MMapDirectory for the named location, specifying the maximum chunk size used for memory mapping.
    `NIOFSDirectory​(Path path, LockFactory lockFactory)` | Create a new NIOFSDirectory for the named location.
    `VerifyingLockFactory​(LockFactory lf, InputStream in, OutputStream out)` |

  - ### Uses of LockFactory in org.apache.lucene.util

    Methods in org.apache.lucene.util with parameters of type LockFactory
    Modifier and Type | Method | Description
    --- | --- | ---
    `static FSDirectory` | CommandLineUtil.`newFSDirectory​(Class<? extends FSDirectory> clazz, Path path, LockFactory lf)` | Creates a new specific FSDirectory instance
    `static FSDirectory` | CommandLineUtil.`newFSDirectory​(String clazzName, Path path, LockFactory lf)` | Creates a specific FSDirectory instance starting from its class name