Package org.apache.lucene.analysis.util
Class AbstractAnalysisFactory
- java.lang.Object
-
- org.apache.lucene.analysis.util.AbstractAnalysisFactory
-
- Direct Known Subclasses:
CharFilterFactory,TokenFilterFactory,TokenizerFactory
public abstract class AbstractAnalysisFactory extends java.lang.ObjectAbstract parent class for analysis factoriesTokenizerFactory,TokenFilterFactoryandCharFilterFactory.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 private static java.lang.StringCLASS_NAMEprivate booleanisExplicitLuceneMatchVersionwhether the luceneMatchVersion arg is explicitly specified in the serialized schemaprivate static java.util.regex.PatternITEM_PATTERNstatic java.lang.StringLUCENE_MATCH_VERSION_PARAMprotected VersionluceneMatchVersionthe luceneVersion argprivate java.util.Map<java.lang.String,java.lang.String>originalArgsThe original args, before any processing
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractAnalysisFactory(java.util.Map<java.lang.String,java.lang.String> args)Initialize this factory via a set of key-value pairs.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description (package private) static java.lang.StringgenerateLegacySPIName(java.lang.Class<? extends AbstractAnalysisFactory> service, java.lang.String[] suffixes)Deprecated.java.lang.Stringget(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)java.lang.Stringget(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, java.lang.String defaultVal)java.lang.Stringget(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues)java.lang.Stringget(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues, java.lang.String defaultVal)java.lang.Stringget(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues, java.lang.String defaultVal, boolean caseSensitive)protected booleangetBoolean(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, boolean defaultVal)chargetChar(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, char defaultValue)java.lang.StringgetClassArg()protected floatgetFloat(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, float defaultVal)protected intgetInt(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, int defaultVal)protected java.util.List<java.lang.String>getLines(ResourceLoader loader, java.lang.String resource)Returns the resource's lines (with content treated as UTF-8)VersiongetLuceneMatchVersion()java.util.Map<java.lang.String,java.lang.String>getOriginalArgs()protected java.util.regex.PatterngetPattern(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)Compiles a pattern for the value of the specified argument keynamejava.util.Set<java.lang.String>getSet(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)Returns whitespace- and/or comma-separated set of values, or null if none are foundprotected CharArraySetgetSnowballWordSet(ResourceLoader loader, java.lang.String wordFiles, boolean ignoreCase)same asgetWordSet(ResourceLoader, String, boolean), except the input is in snowball format.protected CharArraySetgetWordSet(ResourceLoader loader, java.lang.String wordFiles, boolean ignoreCase)Returns asCharArraySetfrom wordFiles, which can be a comma-separated list of filenamesbooleanisExplicitLuceneMatchVersion()(package private) static java.lang.StringlookupSPIName(java.lang.Class<? extends AbstractAnalysisFactory> service)Looks up SPI name (static "NAME" field) with appropriate modifiers.java.lang.Stringrequire(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)java.lang.Stringrequire(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues)java.lang.Stringrequire(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues, boolean caseSensitive)protected booleanrequireBoolean(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)charrequireChar(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)protected floatrequireFloat(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)protected intrequireInt(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)voidsetExplicitLuceneMatchVersion(boolean isExplicitLuceneMatchVersion)protected java.util.List<java.lang.String>splitAt(char separator, java.lang.String list)Splits a list separated by zero or more given separator characters.protected java.util.List<java.lang.String>splitFileNames(java.lang.String fileNames)Splits file names separated by comma character.
-
-
-
Field Detail
-
LUCENE_MATCH_VERSION_PARAM
public static final java.lang.String LUCENE_MATCH_VERSION_PARAM
- See Also:
- Constant Field Values
-
originalArgs
private final java.util.Map<java.lang.String,java.lang.String> originalArgs
The original args, before any processing
-
luceneMatchVersion
protected final Version luceneMatchVersion
the luceneVersion arg
-
isExplicitLuceneMatchVersion
private boolean isExplicitLuceneMatchVersion
whether the luceneMatchVersion arg is explicitly specified in the serialized schema
-
ITEM_PATTERN
private static final java.util.regex.Pattern ITEM_PATTERN
-
CLASS_NAME
private static final java.lang.String CLASS_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
getOriginalArgs
public final java.util.Map<java.lang.String,java.lang.String> getOriginalArgs()
-
getLuceneMatchVersion
public final Version getLuceneMatchVersion()
-
require
public java.lang.String require(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)
-
require
public java.lang.String require(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues)
-
require
public java.lang.String require(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues, boolean caseSensitive)
-
get
public java.lang.String get(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)
-
get
public java.lang.String get(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, java.lang.String defaultVal)
-
get
public java.lang.String get(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues)
-
get
public java.lang.String get(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues, java.lang.String defaultVal)
-
get
public java.lang.String get(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, java.util.Collection<java.lang.String> allowedValues, java.lang.String defaultVal, boolean caseSensitive)
-
requireInt
protected final int requireInt(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)
-
getInt
protected final int getInt(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, int defaultVal)
-
requireBoolean
protected final boolean requireBoolean(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)
-
getBoolean
protected final boolean getBoolean(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, boolean defaultVal)
-
requireFloat
protected final float requireFloat(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)
-
getFloat
protected final float getFloat(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, float defaultVal)
-
requireChar
public char requireChar(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)
-
getChar
public char getChar(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name, char defaultValue)
-
getSet
public java.util.Set<java.lang.String> getSet(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)Returns whitespace- and/or comma-separated set of values, or null if none are found
-
getPattern
protected final java.util.regex.Pattern getPattern(java.util.Map<java.lang.String,java.lang.String> args, java.lang.String name)Compiles a pattern for the value of the specified argument keyname
-
getWordSet
protected final CharArraySet getWordSet(ResourceLoader loader, java.lang.String wordFiles, boolean ignoreCase) throws java.io.IOException
Returns asCharArraySetfrom wordFiles, which can be a comma-separated list of filenames- Throws:
java.io.IOException
-
getLines
protected final java.util.List<java.lang.String> getLines(ResourceLoader loader, java.lang.String resource) throws java.io.IOException
Returns the resource's lines (with content treated as UTF-8)- Throws:
java.io.IOException
-
getSnowballWordSet
protected final CharArraySet getSnowballWordSet(ResourceLoader loader, java.lang.String wordFiles, boolean ignoreCase) throws java.io.IOException
same asgetWordSet(ResourceLoader, String, boolean), except the input is in snowball format.- Throws:
java.io.IOException
-
splitFileNames
protected final java.util.List<java.lang.String> splitFileNames(java.lang.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 java.util.List<java.lang.String> splitAt(char separator, java.lang.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 java.lang.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)
-
lookupSPIName
static java.lang.String lookupSPIName(java.lang.Class<? extends AbstractAnalysisFactory> service) throws java.lang.NoSuchFieldException, java.lang.IllegalAccessException, java.lang.IllegalStateException
Looks up SPI name (static "NAME" field) with appropriate modifiers. Also it must be a String class and declared in the concrete class.- Returns:
- the SPI name
- Throws:
java.lang.NoSuchFieldException- - if the "NAME" field is not defined.java.lang.IllegalAccessException- - if the "NAME" field is inaccessible.java.lang.IllegalStateException- - if the "NAME" field does not have appropriate modifiers or isn't a String field.
-
generateLegacySPIName
@Deprecated static java.lang.String generateLegacySPIName(java.lang.Class<? extends AbstractAnalysisFactory> service, java.lang.String[] suffixes)
Deprecated.Generate legacy SPI name derived from the class name.- Returns:
- the SPI name
-
-