Package org.apache.lucene.misc.store
Class HardlinkCopyDirectoryWrapper
- java.lang.Object
-
- org.apache.lucene.store.Directory
-
- org.apache.lucene.store.FilterDirectory
-
- org.apache.lucene.misc.store.HardlinkCopyDirectoryWrapper
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public final class HardlinkCopyDirectoryWrapper extends FilterDirectory
This directory wrapper overridesDirectory.copyFrom(Directory, String, String, IOContext)
in order to optionally use a hard-link instead of a full byte by byte file copy if applicable. Hard-links are only used if the underlying filesystem supports it and if theLinkPermission
"hard" is granted.NOTE: Using hard-links changes the copy semantics of
Directory.copyFrom(Directory, String, String, IOContext)
. When hard-links are used changes to the source file will be reflected in the target file and vice-versa. Within Lucene, files are write once and should not be modified after they have been written. This directory should not be used in situations where files change after they have been written.
-
-
Field Summary
-
Fields inherited from class org.apache.lucene.store.FilterDirectory
in
-
-
Constructor Summary
Constructors Constructor Description HardlinkCopyDirectoryWrapper(Directory in)
Creates a new HardlinkCopyDirectoryWrapper delegating to the given directory
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
copyFrom(Directory from, String srcFile, String destFile, IOContext context)
-
Methods inherited from class org.apache.lucene.store.FilterDirectory
close, createOutput, createTempOutput, deleteFile, ensureOpen, fileLength, getDelegate, getPendingDeletions, listAll, obtainLock, openInput, rename, sync, syncMetaData, toString, unwrap
-
Methods inherited from class org.apache.lucene.store.Directory
getTempFileName, openChecksumInput
-
-
-
-
Constructor Detail
-
HardlinkCopyDirectoryWrapper
public HardlinkCopyDirectoryWrapper(Directory in)
Creates a new HardlinkCopyDirectoryWrapper delegating to the given directory
-
-
Method Detail
-
copyFrom
public void copyFrom(Directory from, String srcFile, String destFile, IOContext context) throws IOException
- Overrides:
copyFrom
in classDirectory
- Throws:
IOException
-
-