Package org.apache.lucene.analysis.util
Class AnalysisSPILoader<S extends AbstractAnalysisFactory>
java.lang.Object
org.apache.lucene.analysis.util.AnalysisSPILoader<S>
Helper class for loading named SPIs from classpath (e.g. Tokenizers, TokenStreams).
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAnalysisSPILoader(Class<S> clazz) AnalysisSPILoader(Class<S> clazz, String[] suffixes) AnalysisSPILoader(Class<S> clazz, String[] suffixes, ClassLoader classloader) -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanisValidName(String name) lookupClass(String name) static <T extends AbstractAnalysisFactory>
TnewFactoryClassInstance(Class<T> clazz, Map<String, String> args) Creates a new instance of the givenAbstractAnalysisFactoryby invoking the constructor, passing the given argument map.newInstance(String name, Map<String, String> args) voidreload(ClassLoader classloader) Reloads the internal SPI list from the givenClassLoader.
-
Field Details
-
services
-
originalNames
-
clazz
-
suffixes
-
SERVICE_NAME_PATTERN
-
-
Constructor Details
-
AnalysisSPILoader
-
AnalysisSPILoader
-
AnalysisSPILoader
-
-
Method Details
-
reload
Reloads the internal SPI list from the givenClassLoader. Changes to the service list are visible after the method ends, all iterators (e.g., fromavailableServices(),...) stay consistent.NOTE: Only new service providers are added, existing ones are never removed or replaced.
This method is expensive and should only be called for discovery of new service providers on the given classpath/classloader!
-
isValidName
-
newInstance
-
lookupClass
-
availableServices
-
newFactoryClassInstance
public static <T extends AbstractAnalysisFactory> T newFactoryClassInstance(Class<T> clazz, Map<String, String> args) Creates a new instance of the givenAbstractAnalysisFactoryby invoking the constructor, passing the given argument map.
-