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.