# 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.
  `final class`
  `NativeFSLockFactory`
  Implements `LockFactory` using native OS file locks.
  `final class`
  `NoLockFactory`
  Use this `LockFactory` to disable locking entirely.
  `final class`
  `SimpleFSLockFactory`
  Implements `LockFactory` using `Files.createFile(java.nio.file.Path, java.nio.file.attribute.FileAttribute<?>...)`.
  `final class`
  `SingleInstanceLockFactory`
  Implements `LockFactory` for a single in-process instance, meaning all locking will take place through this one instance.
  `final 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 final 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
  Modifier
  Constructor
  Description
  `protected`
  `BaseDirectory(LockFactory lockFactory)`
  Sole constructor.
  ``
  `ByteBuffersDirectory(LockFactory lockFactory)`
  ``
  `ByteBuffersDirectory(LockFactory factory, Supplier<ByteBuffersDataOutput> bbOutputSupplier, BiFunction<String,ByteBuffersDataOutput,IndexInput> outputToInput)`
  `protected`
  `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, 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