org.apache.solr.core
Class StandardDirectoryFactory
java.lang.Object
org.apache.solr.core.DirectoryFactory
org.apache.solr.core.CachingDirectoryFactory
org.apache.solr.core.StandardDirectoryFactory
- All Implemented Interfaces:
- Closeable, NamedListInitializedPlugin
- Direct Known Subclasses:
- MMapDirectoryFactory, NIOFSDirectoryFactory, NRTCachingDirectoryFactory, SimpleFSDirectoryFactory
public class StandardDirectoryFactory
- extends CachingDirectoryFactory
Directory provider which mimics original Solr
FSDirectory
based behavior.
File based DirectoryFactory implementations generally extend
this class.
Methods inherited from class org.apache.solr.core.CachingDirectoryFactory |
addCloseListener, close, doneWithDirectory, get, getLivePaths, incRef, init, release, remove, remove, remove, remove, stripTrailingSlash |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
StandardDirectoryFactory
public StandardDirectoryFactory()
create
protected Directory create(String path,
DirectoryFactory.DirContext dirContext)
throws IOException
- Description copied from class:
DirectoryFactory
- Creates a new Directory for a given path.
- Specified by:
create
in class CachingDirectoryFactory
- Throws:
IOException
- If there is a low-level I/O error.
normalize
public String normalize(String path)
throws IOException
- Description copied from class:
DirectoryFactory
- Normalize a given path.
- Overrides:
normalize
in class CachingDirectoryFactory
- Parameters:
path
- to normalize
- Returns:
- normalized path
- Throws:
IOException
- on io error
exists
public boolean exists(String path)
throws IOException
- Description copied from class:
DirectoryFactory
- Returns true if a Directory exists for a given path.
- Overrides:
exists
in class CachingDirectoryFactory
- Throws:
IOException
- If there is a low-level I/O error.
isPersistent
public boolean isPersistent()
- Specified by:
isPersistent
in class DirectoryFactory
- Returns:
- true if data is kept after close.
isAbsolute
public boolean isAbsolute(String path)
- Overrides:
isAbsolute
in class DirectoryFactory
- Parameters:
path
- the path to check
- Returns:
- true if absolute, as in not relative
removeDirectory
protected void removeDirectory(CachingDirectoryFactory.CacheValue cacheValue)
throws IOException
- Overrides:
removeDirectory
in class CachingDirectoryFactory
- Throws:
IOException
move
public void move(Directory fromDir,
Directory toDir,
String fileName,
IOContext ioContext)
throws IOException
- Override for more efficient moves.
Intended for use with replication - use
carefully - some Directory wrappers will
cache files for example.
This implementation works with two wrappers:
NRTCachingDirectory and RateLimitedDirectoryWrapper.
You should first
Directory.sync(java.util.Collection)
any file that will be
moved or avoid cached files through settings.
- Overrides:
move
in class DirectoryFactory
- Throws:
IOException
- If there is a low-level I/O error.
Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.