org.modeshape.search.lucene
Class LuceneConfigurations.PoolingDirectoryFactory<DirectoryType extends org.apache.lucene.store.Directory>
java.lang.Object
org.modeshape.search.lucene.LuceneConfigurations.PoolingDirectoryFactory<DirectoryType>
- Type Parameters:
DirectoryType
- the concrete type of the directory
- All Implemented Interfaces:
- LuceneConfiguration
- Direct Known Subclasses:
- LuceneConfigurations.FileSystemDirectoryFromNameFactory, LuceneConfigurations.RamDirectoryFactory
- Enclosing class:
- LuceneConfigurations
@ThreadSafe
protected abstract static class LuceneConfigurations.PoolingDirectoryFactory<DirectoryType extends org.apache.lucene.store.Directory>
- extends Object
- implements LuceneConfiguration
A LuceneConfiguration
implementation that creates Directory
instances of the supplied type for each
workspace and pools the results, ensuring that the same Directory
instance is always returned for the same
workspace name.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LuceneConfigurations.PoolingDirectoryFactory
protected LuceneConfigurations.PoolingDirectoryFactory()
getDirectory
public org.apache.lucene.store.Directory getDirectory(String workspaceName,
String indexName)
throws SearchEngineException
- Get the
Directory
that should be used for the workspace with the supplied name.
- Specified by:
getDirectory
in interface LuceneConfiguration
- Parameters:
workspaceName
- the workspace nameindexName
- the name of the index to be created
- Returns:
- the directory; never null
- Throws:
SearchEngineException
- if there is a problem creating the directory- See Also:
LuceneConfiguration.getDirectory(java.lang.String, java.lang.String)
destroyDirectory
public boolean destroyDirectory(String workspaceName,
String indexName)
throws SearchEngineException
- Destroy the
Directory
that is used for the workspace with the supplied name.
- Specified by:
destroyDirectory
in interface LuceneConfiguration
- Parameters:
workspaceName
- the workspace nameindexName
- the name of the index to be created
- Returns:
- true if the directory existed and was destroyed, or false if the directory didn't exist
- Throws:
SearchEngineException
- if there is a problem creating the directory- See Also:
LuceneConfiguration.destroyDirectory(java.lang.String, java.lang.String)
createDirectory
protected abstract DirectoryType createDirectory(String workspaceName,
String indexName)
throws SearchEngineException
- Method implemented by subclasses to create a new Directory implementation.
- Parameters:
workspaceName
- the name of the workspace for which the Directory
is to be created; never nullindexName
- the name of the index to be created
- Returns:
- the new directory; may not be null
- Throws:
SearchEngineException
- if there is a problem creating the directory
doDestroy
protected abstract boolean doDestroy(DirectoryType directory)
throws SearchEngineException
- Throws:
SearchEngineException
Copyright © 2008-2011 JBoss, a division of Red Hat. All Rights Reserved.