Package org.apache.lucene.analysis
Class AbstractAnalysisFactory
- java.lang.Object
-
- org.apache.lucene.analysis.AbstractAnalysisFactory
-
- Direct Known Subclasses:
CharFilterFactory
,TokenFilterFactory
,TokenizerFactory
public abstract class AbstractAnalysisFactory extends Object
Abstract parent class for analysis factoriesTokenizerFactory
,TokenFilterFactory
andCharFilterFactory
.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
Fields Modifier and Type Field Description static String
LUCENE_MATCH_VERSION_PARAM
protected Version
luceneMatchVersion
the luceneVersion arg
-
Constructor Summary
Constructors Modifier Constructor Description 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.protected
AbstractAnalysisFactory(Map<String,String> args)
Initialize this factory via a set of key-value pairs.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static RuntimeException
defaultCtorException()
Helper method to be called from mandatory default constructor of all subclasses to makeServiceLoader
happy.String
get(Map<String,String> args, String name)
String
get(Map<String,String> args, String name, String defaultVal)
String
get(Map<String,String> args, String name, Collection<String> allowedValues)
String
get(Map<String,String> args, String name, Collection<String> allowedValues, String defaultVal)
String
get(Map<String,String> args, String name, Collection<String> allowedValues, String defaultVal, boolean caseSensitive)
protected boolean
getBoolean(Map<String,String> args, String name, boolean defaultVal)
char
getChar(Map<String,String> args, String name, char defaultValue)
String
getClassArg()
protected float
getFloat(Map<String,String> args, String name, float defaultVal)
protected int
getInt(Map<String,String> args, String name, int defaultVal)
protected List<String>
getLines(ResourceLoader loader, String resource)
Returns the resource's lines (with content treated as UTF-8)Version
getLuceneMatchVersion()
Map<String,String>
getOriginalArgs()
protected Pattern
getPattern(Map<String,String> args, String name)
Compiles a pattern for the value of the specified argument keyname
Set<String>
getSet(Map<String,String> args, String name)
Returns whitespace- and/or comma-separated set of values, or null if none are foundprotected CharArraySet
getSnowballWordSet(ResourceLoader loader, String wordFiles, boolean ignoreCase)
same asgetWordSet(ResourceLoader, String, boolean)
, except the input is in snowball format.protected CharArraySet
getWordSet(ResourceLoader loader, String wordFiles, boolean ignoreCase)
Returns asCharArraySet
from wordFiles, which can be a comma-separated list of filenamesboolean
isExplicitLuceneMatchVersion()
String
require(Map<String,String> args, String name)
String
require(Map<String,String> args, String name, Collection<String> allowedValues)
String
require(Map<String,String> args, String name, Collection<String> allowedValues, boolean caseSensitive)
protected boolean
requireBoolean(Map<String,String> args, String name)
char
requireChar(Map<String,String> args, String name)
protected float
requireFloat(Map<String,String> args, String name)
protected int
requireInt(Map<String,String> args, String name)
void
setExplicitLuceneMatchVersion(boolean isExplicitLuceneMatchVersion)
protected List<String>
splitAt(char separator, String list)
Splits a list separated by zero or more given separator characters.protected List<String>
splitFileNames(String fileNames)
Splits file names separated by comma character.
-
-
-
Field Detail
-
LUCENE_MATCH_VERSION_PARAM
public static final String LUCENE_MATCH_VERSION_PARAM
- See Also:
- Constant Field Values
-
luceneMatchVersion
protected final Version luceneMatchVersion
the luceneVersion arg
-
-
Constructor Detail
-
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:
defaultCtorException()
,AbstractAnalysisFactory(Map)
-
-
Method Detail
-
defaultCtorException
protected static RuntimeException 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:
AbstractAnalysisFactory()
-
getLuceneMatchVersion
public final Version getLuceneMatchVersion()
-
require
public String require(Map<String,String> args, String name, Collection<String> allowedValues)
-
require
public String require(Map<String,String> args, String name, Collection<String> allowedValues, boolean caseSensitive)
-
get
public String get(Map<String,String> args, String name, Collection<String> allowedValues, String defaultVal)
-
get
public String get(Map<String,String> args, String name, Collection<String> allowedValues, String defaultVal, boolean caseSensitive)
-
getBoolean
protected final boolean getBoolean(Map<String,String> args, String name, boolean defaultVal)
-
getSet
public Set<String> getSet(Map<String,String> args, String name)
Returns whitespace- and/or comma-separated set of values, or null if none are found
-
getPattern
protected final Pattern getPattern(Map<String,String> args, String name)
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
protected final List<String> getLines(ResourceLoader loader, String resource) throws IOException
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
protected final List<String> splitFileNames(String fileNames)
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
protected final List<String> splitAt(char separator, String list)
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
public String 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)
-
-