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 factories `TokenizerFactory`, `TokenFilterFactory` and `CharFilterFactory`.

The typical lifecycle for a factory consumer is:

1. Create factory via its constructor (or via XXXFactory.forName)
2. (Optional) If the factory uses resources such as files, `ResourceLoaderAware.inform(ResourceLoader)` is called to initialize those resources.
3. Consumer calls create() to obtain instances.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `LUCENE_MATCH_VERSION_PARAM`
  `protected final 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

  Modifier and Type
  Method
  Description
  `protected static RuntimeException`
  `defaultCtorException()`
  Helper method to be called from mandatory default constructor of all subclasses to make `ServiceLoader` 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 final boolean`
  `getBoolean(Map<String,String> args, String name, boolean defaultVal)`
  `char`
  `getChar(Map<String,String> args, String name, char defaultValue)`
  `String`
  `getClassArg()`
  `protected final float`
  `getFloat(Map<String,String> args, String name, float defaultVal)`
  `protected final int`
  `getInt(Map<String,String> args, String name, int defaultVal)`
  `protected final List<String>`
  `getLines(ResourceLoader loader, String resource)`
  Returns the resource's lines (with content treated as UTF-8)
  `final Version`
  `getLuceneMatchVersion()`
  `final Map<String,String>`
  `getOriginalArgs()`
  `protected final Pattern`
  `getPattern(Map<String,String> args, String name)`
  Compiles a pattern for the value of the specified argument key `name`
  `Set<String>`
  `getSet(Map<String,String> args, String name)`
  Returns whitespace- and/or comma-separated set of values, or null if none are found
  `protected final CharArraySet`
  `getSnowballWordSet(ResourceLoader loader, String wordFiles, boolean ignoreCase)`
  same as `getWordSet(ResourceLoader, String, boolean)`, except the input is in snowball format.
  `protected final CharArraySet`
  `getWordSet(ResourceLoader loader, String wordFiles, boolean ignoreCase)`
  Returns as `CharArraySet` from wordFiles, which can be a comma-separated list of filenames
  `boolean`
  `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 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)`
  `protected final List<String>`
  `splitAt(char separator, String list)`
  Splits a list separated by zero or more given separator characters.
  `protected final List<String>`
  `splitFileNames(String fileNames)`
  Splits file names separated by comma character.

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### 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 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:
      - `defaultCtorException()`
      - `AbstractAnalysisFactory(Map)`

  - ### AbstractAnalysisFactory

    protected AbstractAnalysisFactory(Map<String,String> args)
    Initialize this factory via a set of key-value pairs.

- ## Method Details

  - ### defaultCtorException

    protected static RuntimeException defaultCtorException()
    Helper method to be called from mandatory default constructor of all subclasses to make `ServiceLoader` happy.

    Should be used in subclass ctors like: `throw defaultCtorException();`

    See Also:
      - `AbstractAnalysisFactory()`

  - ### getOriginalArgs

    public final Map<String,String> getOriginalArgs()

  - ### getLuceneMatchVersion

    public final Version getLuceneMatchVersion()

  - ### require

    public String require(Map<String,String> args, String name)

  - ### 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)

  - ### get

    public String get(Map<String,String> args, String name, String defaultVal)

  - ### get

    public String get(Map<String,String> args, String name, Collection<String> allowedValues)

  - ### 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)

  - ### requireInt

    protected final int requireInt(Map<String,String> args, String name)

  - ### getInt

    protected final int getInt(Map<String,String> args, String name, int defaultVal)

  - ### requireBoolean

    protected final boolean requireBoolean(Map<String,String> args, String name)

  - ### getBoolean

    protected final boolean getBoolean(Map<String,String> args, String name, boolean defaultVal)

  - ### requireFloat

    protected final float requireFloat(Map<String,String> args, String name)

  - ### getFloat

    protected final float getFloat(Map<String,String> args, String name, float defaultVal)

  - ### requireChar

    public char requireChar(Map<String,String> args, String name)

  - ### getChar

    public char getChar(Map<String,String> args, String name, char defaultValue)

  - ### 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 key `name`

  - ### getWordSet

    protected final CharArraySet getWordSet(ResourceLoader loader, String wordFiles, boolean ignoreCase) throws IOException
    Returns as `CharArraySet` 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 as `getWordSet(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)