Package org.apache.lucene.codecs
Class CompoundDirectory
- java.lang.Object
-
- org.apache.lucene.store.Directory
-
- org.apache.lucene.codecs.CompoundDirectory
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public abstract class CompoundDirectory extends Directory
A read-onlyDirectory
that consists of a view over a compound file.- See Also:
CompoundFormat
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
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(String name, IOContext context)
Creates a new, empty file in the directory and returns anIndexOutput
instance for appending data to this file.IndexOutput
createTempOutput(String prefix, 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(String name)
Not implementedLock
obtainLock(String name)
Acquires and returns aLock
for a file with the given name.void
rename(String from, String to)
Not implementedvoid
sync(Collection<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 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:
IOException
-
deleteFile
public final void deleteFile(String name)
Not implemented- Specified by:
deleteFile
in classDirectory
- Parameters:
name
- the name of an existing file.- Throws:
UnsupportedOperationException
- always: not supported by CFS
-
rename
public final void rename(String from, String to)
Not implemented- Specified by:
rename
in classDirectory
- Throws:
UnsupportedOperationException
- always: not supported by CFS
-
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(String name, IOContext context) throws 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:
IOException
- in case of I/O error
-
createTempOutput
public final IndexOutput createTempOutput(String prefix, String suffix, IOContext context) throws 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:
IOException
-
sync
public final void sync(Collection<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()
-
-