Package org.apache.lucene.store
Class TrackingDirectoryWrapper
- java.lang.Object
-
- org.apache.lucene.store.Directory
-
- org.apache.lucene.store.FilterDirectory
-
- org.apache.lucene.store.TrackingDirectoryWrapper
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public final class TrackingDirectoryWrapper extends FilterDirectory
A delegating Directory that records which files were written to and deleted.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.store.Directory
Directory.IndexInputSlicer
-
-
Constructor Summary
Constructors Constructor Description TrackingDirectoryWrapper(Directory in)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
copy(Directory to, String src, String dest, IOContext context)
Copies the file src toDirectory
to under the new file name dest.IndexOutput
createOutput(String name, IOContext context)
Creates a new, empty file in the directory with the given name.Directory.IndexInputSlicer
createSlicer(String name, IOContext context)
Creates anDirectory.IndexInputSlicer
for the given file name.void
deleteFile(String name)
Removes an existing file in the directory.Set<String>
getCreatedFiles()
-
Methods inherited from class org.apache.lucene.store.FilterDirectory
clearLock, close, fileExists, fileLength, getDelegate, getLockFactory, getLockID, listAll, makeLock, openInput, setLockFactory, sync, toString
-
-
-
-
Constructor Detail
-
TrackingDirectoryWrapper
public TrackingDirectoryWrapper(Directory in)
-
-
Method Detail
-
deleteFile
public void deleteFile(String name) throws IOException
Description copied from class:Directory
Removes an existing file in the directory.- Overrides:
deleteFile
in classFilterDirectory
- Throws:
IOException
-
createOutput
public IndexOutput createOutput(String name, IOContext context) throws IOException
Description copied from class:Directory
Creates a new, empty file in the directory with the given name. Returns a stream writing this file.- Overrides:
createOutput
in classFilterDirectory
- Throws:
IOException
-
copy
public void copy(Directory to, String src, String dest, IOContext context) throws IOException
Description copied from class:Directory
Copies the file src toDirectory
to under the new file name dest.If you want to copy the entire source directory to the destination one, you can do so like this:
Directory to; // the directory to copy to for (String file : dir.listAll()) { dir.copy(to, file, newFile, IOContext.DEFAULT); // newFile can be either file, or a new name }
NOTE: this method does not check whether dest exist and will overwrite it if it does.
- Overrides:
copy
in classDirectory
- Throws:
IOException
-
createSlicer
public Directory.IndexInputSlicer createSlicer(String name, IOContext context) throws IOException
Description copied from class:Directory
Creates anDirectory.IndexInputSlicer
for the given file name. IndexInputSlicer allows otherDirectory
implementations to efficiently open one or more slicedIndexInput
instances from a single file handle. The underlying file handle is kept open until theDirectory.IndexInputSlicer
is closed.- Must throw
FileNotFoundException
if the file does not exist (notjava.nio.file.NoSuchFileException
of Java 7).- Overrides:
createSlicer
in classDirectory
- Throws:
IOException
- if anIOException
occurs
- Must throw
-
-