Package org.apache.lucene.store
Class BaseDirectory
- java.lang.Object
-
- org.apache.lucene.store.Directory
-
- org.apache.lucene.store.BaseDirectory
-
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
ByteBuffersDirectory,FSDirectory
public abstract class BaseDirectory extends Directory
Base implementation for a concreteDirectorythat uses aLockFactoryfor locking.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description protected booleanisOpenprotected LockFactorylockFactoryHolds the LockFactory instance (implements locking for this Directory instance).
-
Constructor Summary
Constructors Modifier Constructor Description protectedBaseDirectory(LockFactory lockFactory)Sole constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidensureOpen()Ensures this directory is still open.LockobtainLock(String name)Acquires and returns aLockfor a file with the given name.StringtoString()-
Methods inherited from class org.apache.lucene.store.Directory
close, copyFrom, createOutput, createTempOutput, deleteFile, fileLength, getPendingDeletions, getTempFileName, listAll, openChecksumInput, openInput, rename, sync, syncMetaData
-
-
-
-
Field Detail
-
isOpen
protected volatile boolean isOpen
-
lockFactory
protected final LockFactory lockFactory
Holds the LockFactory instance (implements locking for this Directory instance).
-
-
Constructor Detail
-
BaseDirectory
protected BaseDirectory(LockFactory lockFactory)
Sole constructor.
-
-
Method Detail
-
obtainLock
public final Lock obtainLock(String name) throws IOException
Description copied from class:DirectoryAcquires and returns aLockfor a file with the given name.- Specified by:
obtainLockin classDirectory- Parameters:
name- the name of the lock file- Throws:
LockObtainFailedException- (optional specific exception) if the lock could not be obtained because it is currently held elsewhere.IOException- if any i/o error occurs attempting to gain the lock
-
ensureOpen
protected final void ensureOpen() throws AlreadyClosedExceptionDescription copied from class:DirectoryEnsures this directory is still open.- Overrides:
ensureOpenin classDirectory- Throws:
AlreadyClosedException- if this directory is closed.
-
-