[hibernate-commits] Hibernate SVN: r19863 - in search/trunk/hibernate-search/src/main/java/org/hibernate/search: spi and 1 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Wed Jun 30 09:39:51 EDT 2010


Author: epbernard
Date: 2010-06-30 09:39:50 -0400 (Wed, 30 Jun 2010)
New Revision: 19863

Added:
   search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/
   search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/DirectoryProviderData.java
   search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/PolymorphicIndexHierarchy.java
   search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/StateSearchFactoryImplementor.java
Removed:
   search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/DirectoryProviderData.java
   search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/PolymorphicIndexHierarchy.java
Modified:
   search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/ImmutableSearchFactory.java
   search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/MutableSearchFactory.java
   search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/SearchFactoryBuilder.java
Log:
HSEARCH-397 Create StateSearchFactory contract, create spi / spi.internals packages

Deleted: search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/DirectoryProviderData.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/DirectoryProviderData.java	2010-06-30 13:39:01 UTC (rev 19862)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/DirectoryProviderData.java	2010-06-30 13:39:50 UTC (rev 19863)
@@ -1,53 +0,0 @@
-package org.hibernate.search.impl;
-
-import java.util.HashSet;
-import java.util.Set;
-import java.util.concurrent.locks.ReentrantLock;
-
-import org.apache.lucene.search.Similarity;
-
-import org.hibernate.search.store.optimization.OptimizerStrategy;
-
-/**
-* @author Emmanuel Bernard
-*/
-class DirectoryProviderData {
-	private final ReentrantLock dirLock = new ReentrantLock();
-	private OptimizerStrategy optimizerStrategy;
-	private final Set<Class<?>> classes = new HashSet<Class<?>>( 2 );
-	private Similarity similarity = null;
-	private boolean exclusiveIndexUsage;
-
-	public void setOptimizerStrategy(OptimizerStrategy optimizerStrategy) {
-		this.optimizerStrategy = optimizerStrategy;
-	}
-
-	public void setSimilarity(Similarity similarity) {
-		this.similarity = similarity;
-	}
-
-	public void setExclusiveIndexUsage(boolean exclusiveIndexUsage) {
-		this.exclusiveIndexUsage = exclusiveIndexUsage;
-	}
-
-	public ReentrantLock getDirLock() {
-
-		return dirLock;
-	}
-
-	public OptimizerStrategy getOptimizerStrategy() {
-		return optimizerStrategy;
-	}
-
-	public Set<Class<?>> getClasses() {
-		return classes;
-	}
-
-	public Similarity getSimilarity() {
-		return similarity;
-	}
-
-	public boolean isExclusiveIndexUsage() {
-		return exclusiveIndexUsage;
-	}
-}

Modified: search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/ImmutableSearchFactory.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/ImmutableSearchFactory.java	2010-06-30 13:39:01 UTC (rev 19862)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/ImmutableSearchFactory.java	2010-06-30 13:39:50 UTC (rev 19863)
@@ -35,6 +35,9 @@
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.search.Similarity;
+import org.hibernate.search.spi.internals.DirectoryProviderData;
+import org.hibernate.search.spi.internals.PolymorphicIndexHierarchy;
+import org.hibernate.search.spi.internals.StateSearchFactoryImplementor;
 import org.slf4j.Logger;
 
 import org.hibernate.annotations.common.AssertionFailure;
@@ -69,7 +72,7 @@
 /**
  * @author Emmanuel Bernard
  */
-public class ImmutableSearchFactory implements SearchFactoryImplementor, WorkerBuildContext {
+public class ImmutableSearchFactory implements StateSearchFactoryImplementor, WorkerBuildContext {
 
 	static {
 		Version.touch();
@@ -122,6 +125,10 @@
 		return backendQueueProcessorFactory;
 	}
 
+	public Map<String, FilterDef> getFilterDefinitions() {
+		return filterDefinitions;
+	}
+
 	public String getIndexingStrategy() {
 		return indexingStrategy;
 	}
@@ -158,6 +165,14 @@
 		return Collections.unmodifiableSet( dirProviderData.get( directoryProvider ).getClasses() );
 	}
 
+	public Map<Class<?>, DocumentBuilderContainedEntity<?>> getDocumentBuildersContainedEntities() {
+		return documentBuildersContainedEntities;
+	}
+
+	public Map<DirectoryProvider<?>, DirectoryProviderData> getDirectoryProviderData() {
+		return dirProviderData;
+	}
+
 	public Map<Class<?>, DocumentBuilderIndexedEntity<?>> getDocumentBuildersIndexedEntities() {
 		return documentBuildersIndexedEntities;
 	}
@@ -248,6 +263,18 @@
 		return filterCachingStrategy;
 	}
 
+	public Map<String, Analyzer> getAnalyzers() {
+		return analyzers;
+	}
+
+	public int getCacheBitResultsSize() {
+		return cacheBitResultsSize;
+	}
+
+	public Properties getConfigurationProperties() {
+		return configurationProperties;
+	}
+
 	public FilterDef getFilterDefinition(String name) {
 		return filterDefinitions.get( name );
 	}
@@ -294,6 +321,14 @@
 		return errorHandler;
 	}
 
+	public PolymorphicIndexHierarchy getIndexHierarchy() {
+		return indexHierarchy;
+	}
+
+	public Map<DirectoryProvider, LuceneIndexingParameters> getDirectoryProviderIndexingParams() {
+		return dirProviderIndexingParams;
+	}
+
 	public SearchFactoryImplementor getUninitializedSearchFactory() {
 		return this;
 	}

Modified: search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/MutableSearchFactory.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/MutableSearchFactory.java	2010-06-30 13:39:01 UTC (rev 19862)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/MutableSearchFactory.java	2010-06-30 13:39:50 UTC (rev 19863)
@@ -1,6 +1,7 @@
 package org.hibernate.search.impl;
 
 import java.util.Map;
+import java.util.Properties;
 import java.util.Set;
 import java.util.concurrent.locks.ReentrantLock;
 
@@ -15,11 +16,13 @@
 import org.hibernate.search.engine.DocumentBuilderContainedEntity;
 import org.hibernate.search.engine.DocumentBuilderIndexedEntity;
 import org.hibernate.search.engine.FilterDef;
-import org.hibernate.search.engine.SearchFactoryImplementor;
 import org.hibernate.search.exception.ErrorHandler;
 import org.hibernate.search.filter.FilterCachingStrategy;
 import org.hibernate.search.query.dsl.v2.QueryContextBuilder;
 import org.hibernate.search.reader.ReaderProvider;
+import org.hibernate.search.spi.internals.DirectoryProviderData;
+import org.hibernate.search.spi.internals.PolymorphicIndexHierarchy;
+import org.hibernate.search.spi.internals.StateSearchFactoryImplementor;
 import org.hibernate.search.store.DirectoryProvider;
 import org.hibernate.search.store.optimization.OptimizerStrategy;
 
@@ -30,10 +33,10 @@
  *
  * @author Emmanuel Bernard
  */
-public class MutableSearchFactory implements SearchFactoryImplementor {
-	private volatile SearchFactoryImplementor delegate;
+public class MutableSearchFactory implements StateSearchFactoryImplementor {
+	private volatile StateSearchFactoryImplementor delegate;
 
-	void setDelegate(SearchFactoryImplementor delegate) {
+	void setDelegate(StateSearchFactoryImplementor delegate) {
 		this.delegate = delegate;
 	}
 
@@ -41,6 +44,10 @@
 		return delegate.getBackendQueueProcessorFactory();
 	}
 
+	public Map<String, FilterDef> getFilterDefinitions() {
+		return delegate.getFilterDefinitions();
+	}
+
 	public Map<Class<?>, DocumentBuilderIndexedEntity<?>> getDocumentBuildersIndexedEntities() {
 		return delegate.getDocumentBuildersIndexedEntities();
 	}
@@ -65,6 +72,18 @@
 		return delegate.getFilterCachingStrategy();
 	}
 
+	public Map<String, Analyzer> getAnalyzers() {
+		return delegate.getAnalyzers();
+	}
+
+	public int getCacheBitResultsSize() {
+		return delegate.getCacheBitResultsSize();
+	}
+
+	public Properties getConfigurationProperties() {
+		return delegate.getConfigurationProperties();
+	}
+
 	public FilterDef getFilterDefinition(String name) {
 		return delegate.getFilterDefinition( name );
 	}
@@ -117,6 +136,14 @@
 		return delegate.getErrorHandler();
 	}
 
+	public PolymorphicIndexHierarchy getIndexHierarchy() {
+		return delegate.getIndexHierarchy();
+	}
+
+	public Map<DirectoryProvider, LuceneIndexingParameters> getDirectoryProviderIndexingParams() {
+		return delegate.getDirectoryProviderIndexingParams();
+	}
+
 	public ReaderProvider getReaderProvider() {
 		return delegate.getReaderProvider();
 	}
@@ -144,4 +171,12 @@
 	public QueryContextBuilder buildQueryBuilder() {
 		return delegate.buildQueryBuilder();
 	}
+
+	public Map<Class<?>, DocumentBuilderContainedEntity<?>> getDocumentBuildersContainedEntities() {
+		return delegate.getDocumentBuildersContainedEntities();
+	}
+
+	public Map<DirectoryProvider<?>, DirectoryProviderData> getDirectoryProviderData() {
+		return delegate.getDirectoryProviderData();
+	}
 }

Deleted: search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/PolymorphicIndexHierarchy.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/PolymorphicIndexHierarchy.java	2010-06-30 13:39:01 UTC (rev 19862)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/PolymorphicIndexHierarchy.java	2010-06-30 13:39:50 UTC (rev 19863)
@@ -1,62 +0,0 @@
-package org.hibernate.search.impl;
-
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-
-import org.slf4j.Logger;
-
-import org.hibernate.search.util.LoggerFactory;
-
-/**
- * Helper class which keeps track of all super classes and interfaces of the indexed entities.
- */
-//FIXME make it immutable (builder pattern)
-class PolymorphicIndexHierarchy {
-	private static final Logger log = LoggerFactory.make();
-
-	private Map<Class<?>, Set<Class<?>>> classToIndexedClass;
-
-	PolymorphicIndexHierarchy() {
-		classToIndexedClass = new HashMap<Class<?>, Set<Class<?>>>();
-	}
-
-	void addIndexedClass(Class<?> indexedClass) {
-		addClass( indexedClass, indexedClass );
-		Class<?> superClass = indexedClass.getSuperclass();
-		while ( superClass != null ) {
-			addClass( superClass, indexedClass );
-			superClass = superClass.getSuperclass();
-		}
-		for ( Class<?> clazz : indexedClass.getInterfaces() ) {
-			addClass( clazz, indexedClass );
-		}
-	}
-
-	private void addClass(Class<?> superclass, Class<?> indexedClass) {
-		Set<Class<?>> classesSet = classToIndexedClass.get( superclass );
-		if ( classesSet == null ) {
-			classesSet = new HashSet<Class<?>>();
-			classToIndexedClass.put( superclass, classesSet );
-		}
-		classesSet.add( indexedClass );
-	}
-
-	Set<Class<?>> getIndexedClasses(Class<?>[] classes) {
-		Set<Class<?>> indexedClasses = new HashSet<Class<?>>();
-		for ( Class<?> clazz : classes ) {
-			Set<Class<?>> set = classToIndexedClass.get( clazz );
-			if ( set != null ) {
-				// at this point we don't have to care about including indexed subclasses of a indexed class
-				// MultiClassesQueryLoader will take care of this later and optimise the queries
-				indexedClasses.addAll( set );
-			}
-		}
-		if ( log.isTraceEnabled() ) {
-			log.trace( "Targeted indexed classes for {}: {}", Arrays.toString( classes ), indexedClasses );
-		}
-		return indexedClasses;
-	}
-}

Modified: search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/SearchFactoryBuilder.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/SearchFactoryBuilder.java	2010-06-30 13:39:01 UTC (rev 19862)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/SearchFactoryBuilder.java	2010-06-30 13:39:50 UTC (rev 19863)
@@ -12,6 +12,11 @@
 
 import org.apache.lucene.analysis.Analyzer;
 import org.apache.lucene.search.Similarity;
+import org.hibernate.search.spi.WorkerBuildContext;
+import org.hibernate.search.spi.WritableBuildContext;
+import org.hibernate.search.spi.internals.DirectoryProviderData;
+import org.hibernate.search.spi.internals.PolymorphicIndexHierarchy;
+import org.hibernate.search.spi.internals.StateSearchFactoryImplementor;
 import org.slf4j.Logger;
 
 import org.hibernate.annotations.common.reflection.MetadataProvider;
@@ -20,8 +25,6 @@
 import org.hibernate.annotations.common.reflection.XClass;
 import org.hibernate.annotations.common.reflection.java.JavaReflectionManager;
 import org.hibernate.search.Environment;
-import org.hibernate.search.spi.WorkerBuildContext;
-import org.hibernate.search.spi.WritableBuildContext;
 import org.hibernate.search.SearchException;
 import org.hibernate.search.annotations.AnalyzerDef;
 import org.hibernate.search.annotations.AnalyzerDefs;
@@ -35,7 +38,6 @@
 import org.hibernate.search.backend.Worker;
 import org.hibernate.search.backend.WorkerFactory;
 import org.hibernate.search.backend.configuration.ConfigurationParseHelper;
-import org.hibernate.search.backend.impl.BatchedQueueingProcessor;
 import org.hibernate.search.cfg.SearchConfiguration;
 import org.hibernate.search.cfg.SearchMapping;
 import org.hibernate.search.engine.DocumentBuilderContainedEntity;
@@ -98,6 +100,39 @@
 	Map<DirectoryProvider, LuceneIndexingParameters> dirProviderIndexingParams;
 
 	public SearchFactoryImplementor buildSearchFactory() {
+		if (rootFactory == null) {
+			return buildNewSearchFactory();
+		}
+		else {
+			return buildIncrementalSearchFactory();
+		}
+	}
+
+	private SearchFactoryImplementor buildIncrementalSearchFactory() {
+		copyStateFromOldFactory(rootFactory);
+		//FIXME next step for implementation
+		return null;
+	}
+
+	private void copyStateFromOldFactory(StateSearchFactoryImplementor stateFactory) {
+		indexingStrategy = stateFactory.getIndexingStrategy();
+		documentBuildersIndexedEntities = stateFactory.getDocumentBuildersIndexedEntities();
+		documentBuildersContainedEntities = stateFactory.getDocumentBuildersContainedEntities();
+		dirProviderData = stateFactory.getDirectoryProviderData();
+		worker = stateFactory.getWorker();
+		readerProvider = stateFactory.getReaderProvider();
+		backendQueueProcessorFactory = stateFactory.getBackendQueueProcessorFactory();
+		filterDefinitions = stateFactory.getFilterDefinitions();
+		filterCachingStrategy = stateFactory.getFilterCachingStrategy();
+		analyzers = stateFactory.getAnalyzers();
+		cacheBitResultsSize = stateFactory.getCacheBitResultsSize();
+		configurationProperties = stateFactory.getConfigurationProperties();
+		errorHandler = stateFactory.getErrorHandler();
+		indexHierarchy = stateFactory.getIndexHierarchy();
+		dirProviderIndexingParams = stateFactory.getDirectoryProviderIndexingParams();
+	}
+
+	private SearchFactoryImplementor buildNewSearchFactory() {
 		createCleanFactoryState();
 
 		configurationProperties = cfg.getProperties();
@@ -136,8 +171,7 @@
 		this.cacheBitResultsSize = ConfigurationParseHelper.getIntValue(
 				cfg.getProperties(), Environment.CACHE_DOCIDRESULTS_SIZE, CachingWrapperFilter.DEFAULT_SIZE
 		);
-		//TODO uncomment
-		SearchFactoryImplementor factory = new ImmutableSearchFactory( this );
+		StateSearchFactoryImplementor factory = new ImmutableSearchFactory( this );
 		rootFactory.setDelegate( factory );
 		return rootFactory;
 	}
@@ -339,7 +373,6 @@
 	}
 
 	private static ErrorHandler createErrorHandler(Properties configuration) {
-		boolean sync = BatchedQueueingProcessor.isConfiguredAsSync( configuration );
 		String errorHandlerClassName = configuration.getProperty( Environment.ERROR_HANDLER );
 		if ( StringHelper.isEmpty( errorHandlerClassName ) ) {
 			return new LogErrorHandler();

Copied: search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/DirectoryProviderData.java (from rev 19862, search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/DirectoryProviderData.java)
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/DirectoryProviderData.java	                        (rev 0)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/DirectoryProviderData.java	2010-06-30 13:39:50 UTC (rev 19863)
@@ -0,0 +1,53 @@
+package org.hibernate.search.spi.internals;
+
+import java.util.HashSet;
+import java.util.Set;
+import java.util.concurrent.locks.ReentrantLock;
+
+import org.apache.lucene.search.Similarity;
+
+import org.hibernate.search.store.optimization.OptimizerStrategy;
+
+/**
+* @author Emmanuel Bernard
+*/
+public class DirectoryProviderData {
+	private final ReentrantLock dirLock = new ReentrantLock();
+	private OptimizerStrategy optimizerStrategy;
+	private final Set<Class<?>> classes = new HashSet<Class<?>>( 2 );
+	private Similarity similarity = null;
+	private boolean exclusiveIndexUsage;
+
+	public void setOptimizerStrategy(OptimizerStrategy optimizerStrategy) {
+		this.optimizerStrategy = optimizerStrategy;
+	}
+
+	public void setSimilarity(Similarity similarity) {
+		this.similarity = similarity;
+	}
+
+	public void setExclusiveIndexUsage(boolean exclusiveIndexUsage) {
+		this.exclusiveIndexUsage = exclusiveIndexUsage;
+	}
+
+	public ReentrantLock getDirLock() {
+
+		return dirLock;
+	}
+
+	public OptimizerStrategy getOptimizerStrategy() {
+		return optimizerStrategy;
+	}
+
+	public Set<Class<?>> getClasses() {
+		return classes;
+	}
+
+	public Similarity getSimilarity() {
+		return similarity;
+	}
+
+	public boolean isExclusiveIndexUsage() {
+		return exclusiveIndexUsage;
+	}
+}

Copied: search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/PolymorphicIndexHierarchy.java (from rev 19862, search/trunk/hibernate-search/src/main/java/org/hibernate/search/impl/PolymorphicIndexHierarchy.java)
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/PolymorphicIndexHierarchy.java	                        (rev 0)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/PolymorphicIndexHierarchy.java	2010-06-30 13:39:50 UTC (rev 19863)
@@ -0,0 +1,62 @@
+package org.hibernate.search.spi.internals;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.slf4j.Logger;
+
+import org.hibernate.search.util.LoggerFactory;
+
+/**
+ * Helper class which keeps track of all super classes and interfaces of the indexed entities.
+ */
+//FIXME make it immutable (builder pattern)
+public class PolymorphicIndexHierarchy {
+	private static final Logger log = LoggerFactory.make();
+
+	private Map<Class<?>, Set<Class<?>>> classToIndexedClass;
+
+	public PolymorphicIndexHierarchy() {
+		classToIndexedClass = new HashMap<Class<?>, Set<Class<?>>>();
+	}
+
+	public void addIndexedClass(Class<?> indexedClass) {
+		addClass( indexedClass, indexedClass );
+		Class<?> superClass = indexedClass.getSuperclass();
+		while ( superClass != null ) {
+			addClass( superClass, indexedClass );
+			superClass = superClass.getSuperclass();
+		}
+		for ( Class<?> clazz : indexedClass.getInterfaces() ) {
+			addClass( clazz, indexedClass );
+		}
+	}
+
+	private void addClass(Class<?> superclass, Class<?> indexedClass) {
+		Set<Class<?>> classesSet = classToIndexedClass.get( superclass );
+		if ( classesSet == null ) {
+			classesSet = new HashSet<Class<?>>();
+			classToIndexedClass.put( superclass, classesSet );
+		}
+		classesSet.add( indexedClass );
+	}
+
+	public Set<Class<?>> getIndexedClasses(Class<?>[] classes) {
+		Set<Class<?>> indexedClasses = new HashSet<Class<?>>();
+		for ( Class<?> clazz : classes ) {
+			Set<Class<?>> set = classToIndexedClass.get( clazz );
+			if ( set != null ) {
+				// at this point we don't have to care about including indexed subclasses of a indexed class
+				// MultiClassesQueryLoader will take care of this later and optimise the queries
+				indexedClasses.addAll( set );
+			}
+		}
+		if ( log.isTraceEnabled() ) {
+			log.trace( "Targeted indexed classes for {}: {}", Arrays.toString( classes ), indexedClasses );
+		}
+		return indexedClasses;
+	}
+}

Added: search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/StateSearchFactoryImplementor.java
===================================================================
--- search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/StateSearchFactoryImplementor.java	                        (rev 0)
+++ search/trunk/hibernate-search/src/main/java/org/hibernate/search/spi/internals/StateSearchFactoryImplementor.java	2010-06-30 13:39:50 UTC (rev 19863)
@@ -0,0 +1,55 @@
+package org.hibernate.search.spi.internals;
+
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.lucene.analysis.Analyzer;
+
+import org.hibernate.search.backend.BackendQueueProcessorFactory;
+import org.hibernate.search.backend.LuceneIndexingParameters;
+import org.hibernate.search.backend.Worker;
+import org.hibernate.search.engine.DocumentBuilderContainedEntity;
+import org.hibernate.search.engine.DocumentBuilderIndexedEntity;
+import org.hibernate.search.engine.FilterDef;
+import org.hibernate.search.engine.SearchFactoryImplementor;
+import org.hibernate.search.exception.ErrorHandler;
+import org.hibernate.search.filter.FilterCachingStrategy;
+import org.hibernate.search.reader.ReaderProvider;
+import org.hibernate.search.store.DirectoryProvider;
+
+/**
+ * State constituting a SearchFactory
+ * @author Emmanuel Bernard
+ */
+public interface StateSearchFactoryImplementor extends SearchFactoryImplementor {
+
+	Map<Class<?>, DocumentBuilderContainedEntity<?>> getDocumentBuildersContainedEntities();
+
+	Map<DirectoryProvider<?>, DirectoryProviderData> getDirectoryProviderData();
+
+	Map<Class<?>, DocumentBuilderIndexedEntity<?>> getDocumentBuildersIndexedEntities();
+
+	String getIndexingStrategy();
+
+	Worker getWorker();
+
+	ReaderProvider getReaderProvider();
+
+	BackendQueueProcessorFactory getBackendQueueProcessorFactory();
+
+	Map<String, FilterDef> getFilterDefinitions();
+
+	FilterCachingStrategy getFilterCachingStrategy();
+
+	Map<String, Analyzer> getAnalyzers();
+
+	int getCacheBitResultsSize();
+
+	Properties getConfigurationProperties();
+
+	ErrorHandler getErrorHandler();
+
+	PolymorphicIndexHierarchy getIndexHierarchy();
+
+	Map<DirectoryProvider, LuceneIndexingParameters> getDirectoryProviderIndexingParams();
+}



More information about the hibernate-commits mailing list