Package org.apache.lucene.analysis
Class AbstractAnalysisFactory
java.lang.Object
org.apache.lucene.analysis.AbstractAnalysisFactory
- Direct Known Subclasses:
CharFilterFactory
,TokenFilterFactory
,TokenizerFactory
Abstract parent class for analysis factories
TokenizerFactory
, TokenFilterFactory
and CharFilterFactory
.
The typical lifecycle for a factory consumer is:
- Create factory via its constructor (or via XXXFactory.forName)
- (Optional) If the factory uses resources such as files,
ResourceLoaderAware.inform(ResourceLoader)
is called to initialize those resources. - Consumer calls create() to obtain instances.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private boolean
whether the luceneMatchVersion arg is explicitly specified in the serialized schemaprivate static final Pattern
static final String
protected final Version
the luceneVersion argThe original args, before any processingprivate static final String
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
This default ctor is required to be implemented by all subclasses because of service loader (SPI) specification, but it is never called by Lucene.protected
AbstractAnalysisFactory
(Map<String, String> args) Initialize this factory via a set of key-value pairs. -
Method Summary
Modifier and TypeMethodDescriptionprotected static RuntimeException
Helper method to be called from mandatory default constructor of all subclasses to makeServiceLoader
happy.get
(Map<String, String> args, String name, Collection<String> allowedValues, String defaultVal, boolean caseSensitive) protected final boolean
getBoolean
(Map<String, String> args, String name, boolean defaultVal) char
protected final float
protected final int
getLines
(ResourceLoader loader, String resource) Returns the resource's lines (with content treated as UTF-8)final Version
protected final Pattern
getPattern
(Map<String, String> args, String name) Compiles a pattern for the value of the specified argument keyname
Returns whitespace- and/or comma-separated set of values, or null if none are foundprotected final CharArraySet
getSnowballWordSet
(ResourceLoader loader, String wordFiles, boolean ignoreCase) same asgetWordSet(ResourceLoader, String, boolean)
, except the input is in snowball format.protected final CharArraySet
getWordSet
(ResourceLoader loader, String wordFiles, boolean ignoreCase) Returns asCharArraySet
from wordFiles, which can be a comma-separated list of filenamesboolean
require
(Map<String, String> args, String name, Collection<String> allowedValues, boolean caseSensitive) protected final boolean
requireBoolean
(Map<String, String> args, String name) char
requireChar
(Map<String, String> args, String name) protected final float
requireFloat
(Map<String, String> args, String name) protected final int
requireInt
(Map<String, String> args, String name) void
setExplicitLuceneMatchVersion
(boolean isExplicitLuceneMatchVersion) Splits a list separated by zero or more given separator characters.splitFileNames
(String fileNames) Splits file names separated by comma character.
-
Field Details
-
LUCENE_MATCH_VERSION_PARAM
- See Also:
-
originalArgs
The original args, before any processing -
luceneMatchVersion
the luceneVersion arg -
isExplicitLuceneMatchVersion
private boolean isExplicitLuceneMatchVersionwhether the luceneMatchVersion arg is explicitly specified in the serialized schema -
ITEM_PATTERN
-
CLASS_NAME
- See Also:
-
SPI_NAME
- See Also:
-
-
Constructor Details
-
AbstractAnalysisFactory
protected AbstractAnalysisFactory()This default ctor is required to be implemented by all subclasses because of service loader (SPI) specification, but it is never called by Lucene.Subclass ctors should call:
throw defaultCtorException();
- Throws:
UnsupportedOperationException
- if invoked- See Also:
-
AbstractAnalysisFactory
Initialize this factory via a set of key-value pairs.
-
-
Method Details
-
defaultCtorException
Helper method to be called from mandatory default constructor of all subclasses to makeServiceLoader
happy.Should be used in subclass ctors like:
throw defaultCtorException();
- See Also:
-
getOriginalArgs
-
getLuceneMatchVersion
-
require
-
require
-
require
-
get
-
get
-
get
-
get
-
get
-
requireInt
-
getInt
-
requireBoolean
-
getBoolean
-
requireFloat
-
getFloat
-
requireChar
-
getChar
-
getSet
Returns whitespace- and/or comma-separated set of values, or null if none are found -
getPattern
Compiles a pattern for the value of the specified argument keyname
-
getWordSet
protected final CharArraySet getWordSet(ResourceLoader loader, String wordFiles, boolean ignoreCase) throws IOException Returns asCharArraySet
from wordFiles, which can be a comma-separated list of filenames- Throws:
IOException
-
getLines
Returns the resource's lines (with content treated as UTF-8)- Throws:
IOException
-
getSnowballWordSet
protected final CharArraySet getSnowballWordSet(ResourceLoader loader, String wordFiles, boolean ignoreCase) throws IOException same asgetWordSet(ResourceLoader, String, boolean)
, except the input is in snowball format.- Throws:
IOException
-
splitFileNames
Splits file names separated by comma character. File names can contain comma characters escaped by backslash '\'- Parameters:
fileNames
- the string containing file names- Returns:
- a list of file names with the escaping backslashed removed
-
splitAt
Splits a list separated by zero or more given separator characters. List items can contain comma characters escaped by backslash '\'. Whitespace is NOT trimmed from the returned list items.- Parameters:
list
- the string containing the split list items- Returns:
- a list of items with the escaping backslashes removed
-
getClassArg
- Returns:
- the string used to specify the concrete class name in a serialized representation: the
class arg. If the concrete class name was not specified via a class arg, returns
getClass().getName()
.
-
isExplicitLuceneMatchVersion
public boolean isExplicitLuceneMatchVersion() -
setExplicitLuceneMatchVersion
public void setExplicitLuceneMatchVersion(boolean isExplicitLuceneMatchVersion)
-