## org.apache.lucene.store
Class LockFactory

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

Direct Known Subclasses:
  FSLockFactory, MockLockFactoryWrapper, NoLockFactory, SingleInstanceLockFactory, VerifyingLockFactory

    public abstract class LockFactory

extends Object

Base class for Locking implementation. `Directory` uses instances of this class to implement locking.

Note that there are some useful tools to verify that your LockFactory is working correctly: `VerifyingLockFactory`, `LockStressTest`, `LockVerifyServer`.

See Also:
  `LockVerifyServer`, `LockStressTest`, `VerifyingLockFactory`

Field Summary
`protected String` `lockPrefix`

Constructor Summary
`LockFactory()`

Method Summary
`abstract void` `clearLock(String lockName)` Attempt to clear (forcefully unlock and remove) the specified lock.
`String` `getLockPrefix()` Get the prefix in use for all locks created in this LockFactory.
`abstract Lock` `makeLock(String lockName)` Return a new Lock instance identified by lockName.
`void` `setLockPrefix(String lockPrefix)` Set the prefix in use for all locks created in this LockFactory.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### lockPrefix

    protected String lockPrefix

Constructor Detail

### LockFactory

    public LockFactory()

Method Detail

### setLockPrefix

    public void setLockPrefix(String lockPrefix)

  Set the prefix in use for all locks created in this LockFactory. This is normally called once, when a Directory gets this LockFactory instance. However, you can also call this (after this instance is assigned to a Directory) to override the prefix in use. This is helpful if you're running Lucene on machines that have different mount points for the same shared directory.

### getLockPrefix

    public String getLockPrefix()

  Get the prefix in use for all locks created in this LockFactory.

### makeLock

    public abstract Lock makeLock(String lockName)

  Return a new Lock instance identified by lockName.

  Parameters:
    `lockName` - name of the lock to be created.

### clearLock

    public abstract void clearLock(String lockName)
                            throws IOException

  Attempt to clear (forcefully unlock and remove) the specified lock. Only call this at a time when you are certain this lock is no longer in use.

  Parameters:
    `lockName` - name of the lock to be cleared.
  Throws:
    `IOException`