FSLockFactory (Lucene 10.5.0 core API)
Description: declaration: package: org.apache.lucene.store, class: FSLockFactory

Package org.apache.lucene.store

# Class FSLockFactory

java.lang.Object
org.apache.lucene.store.LockFactory
org.apache.lucene.store.FSLockFactory

Direct Known Subclasses:
  `NativeFSLockFactory`, `SimpleFSLockFactory`

public abstract class FSLockFactory extends LockFactory
Base class for file system based locking implementation. This class is explicitly checking that the passed `Directory` is an `FSDirectory`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FSLockFactory()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static final FSLockFactory`
  `getDefault()`
  Returns the default locking implementation for this platform.
  `protected abstract Lock`
  `obtainFSLock(FSDirectory dir, String lockName)`
  Implement this method to obtain a lock for a FSDirectory instance.
  `final Lock`
  `obtainLock(Directory dir, String lockName)`
  Return a new obtained Lock instance identified by lockName.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### FSLockFactory

    public FSLockFactory()

- ## Method Details

  - ### getDefault

    public static final FSLockFactory getDefault()
    Returns the default locking implementation for this platform. This method currently returns always `NativeFSLockFactory`.

  - ### obtainLock

    public final Lock obtainLock(Directory dir, String lockName) throws IOException
    Description copied from class: `LockFactory`
    Return a new obtained Lock instance identified by lockName.
    Specified by:
      `obtainLock` in class `LockFactory`
    Parameters:
      `lockName` - name of the lock to be created.
    Throws:
      `IOException` - if any i/o error occurs attempting to gain the lock

  - ### obtainFSLock

    protected abstract Lock obtainFSLock(FSDirectory dir, String lockName) throws IOException
    Implement this method to obtain a lock for a FSDirectory instance.
    Throws:
      `IOException` - if the lock could not be obtained.