Class TrackingDirectoryWrapper

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public final class TrackingDirectoryWrapper
    extends FilterDirectory
    A delegating Directory that records which files were written to and deleted.
    • Constructor Detail

      • TrackingDirectoryWrapper

        public TrackingDirectoryWrapper​(Directory in)
    • Method Detail

      • deleteFile

        public void deleteFile​(java.lang.String name)
                        throws java.io.IOException
        Description copied from class: Directory
        Removes an existing file in the directory.
        Overrides:
        deleteFile in class FilterDirectory
        Throws:
        java.io.IOException
      • createOutput

        public 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 with the given name. Returns a stream writing this file.
        Overrides:
        createOutput in class FilterDirectory
        Throws:
        java.io.IOException
      • copy

        public void copy​(Directory to,
                         java.lang.String src,
                         java.lang.String dest,
                         IOContext context)
                  throws java.io.IOException
        Description copied from class: Directory
        Copies the file src to Directory 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 class Directory
        Throws:
        java.io.IOException
      • createSlicer

        public Directory.IndexInputSlicer createSlicer​(java.lang.String name,
                                                       IOContext context)
                                                throws java.io.IOException
        Description copied from class: Directory
        Creates an Directory.IndexInputSlicer for the given file name. IndexInputSlicer allows other Directory implementations to efficiently open one or more sliced IndexInput instances from a single file handle. The underlying file handle is kept open until the Directory.IndexInputSlicer is closed.
      • Must throw FileNotFoundException if the file does not exist (not java.nio.file.NoSuchFileException of Java 7).
Overrides:
createSlicer in class Directory
Throws:
java.io.IOException - if an IOException occurs