org.hibernate.search.store
Interface DirectoryProvider<TDirectory extends org.apache.lucene.store.Directory>

All Known Implementing Classes:
FSDirectoryProvider, FSMasterDirectoryProvider, FSSlaveDirectoryProvider, InfinispanDirectoryProvider, RAMDirectoryProvider

public interface DirectoryProvider<TDirectory extends org.apache.lucene.store.Directory>

Set up and provide a Lucene Directory equals() and hashCode() must guaranty equality between two providers pointing to the same underlying Lucene Store. Besides that, hashCode ordering is used to avoid deadlock when locking a directory provider. This class must be thread safe regarding getDirectory() calls

Author:
Emmanuel Bernard, Sylvain Vieujot

Method Summary
 TDirectory getDirectory()
          Returns an initialized Lucene Directory.
 void initialize(String directoryProviderName, Properties properties, BuildContext context)
           
 void start(DirectoryBasedIndexManager indexManager)
          Executed after initialize, this method set up the heavy process of starting up the DirectoryProvider IO processing as well as background processing are expected to be set up here
 void stop()
          Executed when the search factory is closed.
 

Method Detail

initialize

void initialize(String directoryProviderName,
                Properties properties,
                BuildContext context)
Parameters:
directoryProviderName -
properties -
context - get the information to initialize the directory and build its hashCode/equals method

start

void start(DirectoryBasedIndexManager indexManager)
Executed after initialize, this method set up the heavy process of starting up the DirectoryProvider IO processing as well as background processing are expected to be set up here


stop

void stop()
Executed when the search factory is closed. This method should stop any background process as well as releasing any resource. This method should avoid raising exceptions and log potential errors instead


getDirectory

TDirectory getDirectory()
Returns an initialized Lucene Directory. This method call must be threadsafe



Copyright © 2006-2012 Red Hat Middleware, LLC. All Rights Reserved