|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.solr.core.DirectoryFactory
org.apache.solr.core.CachingDirectoryFactory
public abstract class CachingDirectoryFactory
A DirectoryFactory impl base class for caching Directory instances
per path. Most DirectoryFactory implementations will want to extend this
class and simply implement DirectoryFactory.create(String).
| Nested Class Summary | |
|---|---|
protected class |
CachingDirectoryFactory.CacheValue
|
static interface |
CachingDirectoryFactory.CloseListener
|
| Field Summary | |
|---|---|
protected Map<Directory,CachingDirectoryFactory.CacheValue> |
byDirectoryCache
|
protected Map<String,CachingDirectoryFactory.CacheValue> |
byPathCache
|
protected Map<Directory,List<CachingDirectoryFactory.CloseListener>> |
closeListeners
|
| Constructor Summary | |
|---|---|
CachingDirectoryFactory()
|
|
| Method Summary | |
|---|---|
void |
addCloseListener(Directory dir,
CachingDirectoryFactory.CloseListener closeListener)
Adds a close listener for a Directory. |
void |
close()
Close the this and all of the Directories it contains. |
protected abstract Directory |
create(String path)
Creates a new Directory for a given path. |
void |
doneWithDirectory(Directory directory)
Indicates a Directory will no longer be used, and when it's ref count hits 0, it can be closed. |
boolean |
exists(String path)
Returns true if a Directory exists for a given path. |
Directory |
get(String path,
String rawLockType)
Returns the Directory for a given path, using the specified rawLockType. |
Directory |
get(String path,
String rawLockType,
boolean forceNew)
Returns the Directory for a given path, using the specified rawLockType. |
void |
incRef(Directory directory)
Increment the number of references to the given Directory. |
void |
init(NamedList args)
|
void |
release(Directory directory)
Releases the Directory so that it may be closed when it is no longer referenced. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected Map<String,CachingDirectoryFactory.CacheValue> byPathCache
protected Map<Directory,CachingDirectoryFactory.CacheValue> byDirectoryCache
protected Map<Directory,List<CachingDirectoryFactory.CloseListener>> closeListeners
| Constructor Detail |
|---|
public CachingDirectoryFactory()
| Method Detail |
|---|
public void addCloseListener(Directory dir,
CachingDirectoryFactory.CloseListener closeListener)
DirectoryFactory
addCloseListener in class DirectoryFactory
public void doneWithDirectory(Directory directory)
throws IOException
DirectoryFactory
doneWithDirectory in class DirectoryFactoryIOException - If there is a low-level I/O error.
public void close()
throws IOException
DirectoryFactory
close in interface Closeableclose in class DirectoryFactoryIOException - If there is a low-level I/O error.
protected abstract Directory create(String path)
throws IOException
DirectoryFactory
create in class DirectoryFactoryIOException - If there is a low-level I/O error.public boolean exists(String path)
DirectoryFactory
exists in class DirectoryFactory
public final Directory get(String path,
String rawLockType)
throws IOException
DirectoryFactory
get in class DirectoryFactoryIOException - If there is a low-level I/O error.
public final Directory get(String path,
String rawLockType,
boolean forceNew)
throws IOException
DirectoryFactoryDirectoryFactory.doneWithDirectory(Directory) in this case - the old Directory
will be closed when it's ref count hits 0.
get in class DirectoryFactoryIOException - If there is a low-level I/O error.public void incRef(Directory directory)
DirectoryFactory
incRef in class DirectoryFactorypublic void init(NamedList args)
public void release(Directory directory)
throws IOException
DirectoryFactory
release in class DirectoryFactoryIOException - If there is a low-level I/O error.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||