org.apache.lucene.store
Class TrackingDirectoryWrapper

java.lang.Object
  extended by org.apache.lucene.store.Directory
      extended by org.apache.lucene.store.FilterDirectory
          extended by org.apache.lucene.store.TrackingDirectoryWrapper
All Implemented Interfaces:
Closeable

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
 
Field Summary
 
Fields inherited from class org.apache.lucene.store.FilterDirectory
in
 
Constructor Summary
TrackingDirectoryWrapper(Directory in)
           
 
Method Summary
 void copy(Directory to, String src, String dest, IOContext context)
          Copies the file src to Directory 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 an Directory.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
 
Methods inherited from class org.apache.lucene.store.Directory
ensureOpen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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 class FilterDirectory
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 class FilterDirectory
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 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:
IOException

createSlicer

public Directory.IndexInputSlicer createSlicer(String name,
                                               IOContext context)
                                        throws 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:
    IOException - if an IOException occurs

  • getCreatedFiles

    public Set<String> getCreatedFiles()


    Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.