Package org.apache.lucene.codecs
Class CompoundDirectory
- java.lang.Object
-
- org.apache.lucene.store.Directory
-
- org.apache.lucene.codecs.CompoundDirectory
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
- Direct Known Subclasses:
Lucene50CompoundReader
,Lucene90CompoundReader
public abstract class CompoundDirectory extends Directory
A read-onlyDirectory
that consists of a view over a compound file.- See Also:
CompoundFormat
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
CompoundDirectory()
Sole constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
checkIntegrity()
Checks consistency of this directory.IndexOutput
createOutput(java.lang.String name, IOContext context)
Creates a new, empty file in the directory and returns anIndexOutput
instance for appending data to this file.IndexOutput
createTempOutput(java.lang.String prefix, java.lang.String suffix, IOContext context)
Creates a new, empty, temporary file in the directory and returns anIndexOutput
instance for appending data to this file.void
deleteFile(java.lang.String name)
Not implementedLock
obtainLock(java.lang.String name)
Acquires and returns aLock
for a file with the given name.void
rename(java.lang.String from, java.lang.String to)
Not implementedvoid
sync(java.util.Collection<java.lang.String> names)
Ensures that any writes to these files are moved to stable storage (made durable).void
syncMetaData()
Ensures that directory metadata, such as recent file renames, are moved to stable storage.-
Methods inherited from class org.apache.lucene.store.Directory
close, copyFrom, ensureOpen, fileLength, getPendingDeletions, getTempFileName, listAll, openChecksumInput, openInput, toString
-
-
-
-
Method Detail
-
checkIntegrity
public abstract void checkIntegrity() throws java.io.IOException
Checks consistency of this directory.Note that this may be costly in terms of I/O, e.g. may involve computing a checksum value against large data files.
- Throws:
java.io.IOException
-
deleteFile
public final void deleteFile(java.lang.String name)
Not implemented- Specified by:
deleteFile
in classDirectory
- Parameters:
name
- the name of an existing file.- Throws:
java.lang.UnsupportedOperationException
- always: not supported by CFS
-
rename
public final void rename(java.lang.String from, java.lang.String to)
Not implemented
-
syncMetaData
public final void syncMetaData()
Description copied from class:Directory
Ensures that directory metadata, such as recent file renames, are moved to stable storage.- Specified by:
syncMetaData
in classDirectory
- See Also:
Directory.sync(Collection)
-
createOutput
public final IndexOutput createOutput(java.lang.String name, IOContext context) throws java.io.IOException
Description copied from class:Directory
Creates a new, empty file in the directory and returns anIndexOutput
instance for appending data to this file.This method must throw
FileAlreadyExistsException
if the file already exists.- Specified by:
createOutput
in classDirectory
- Parameters:
name
- the name of the file to create.- Throws:
java.io.IOException
- in case of I/O error
-
createTempOutput
public final IndexOutput createTempOutput(java.lang.String prefix, java.lang.String suffix, IOContext context) throws java.io.IOException
Description copied from class:Directory
Creates a new, empty, temporary file in the directory and returns anIndexOutput
instance for appending data to this file.The temporary file name (accessible via
IndexOutput.getName()
) will start withprefix
, end withsuffix
and have a reserved file extension.tmp
.- Specified by:
createTempOutput
in classDirectory
- Throws:
java.io.IOException
-
sync
public final void sync(java.util.Collection<java.lang.String> names)
Description copied from class:Directory
Ensures that any writes to these files are moved to stable storage (made durable).Lucene uses this to properly commit changes to the index, to prevent a machine/OS crash from corrupting the index.
- Specified by:
sync
in classDirectory
- See Also:
Directory.syncMetaData()
-
obtainLock
public final Lock obtainLock(java.lang.String name)
Description copied from class:Directory
Acquires and returns aLock
for a file with the given name.- Specified by:
obtainLock
in classDirectory
- Parameters:
name
- the name of the lock file
-
-