org.apache.lucene.analysis.en

## Class AbstractWordsFileFilterFactory

- java.lang.Object
- - org.apache.lucene.analysis.util.AbstractAnalysisFactory
  - - org.apache.lucene.analysis.util.TokenFilterFactory
    - - org.apache.lucene.analysis.en.AbstractWordsFileFilterFactory

All Implemented Interfaces:
  ResourceLoaderAware

Direct Known Subclasses:
  CommonGramsFilterFactory, KeepWordFilterFactory, StopFilterFactory

    public abstract class AbstractWordsFileFilterFactory
    extends TokenFilterFactory
    implements ResourceLoaderAware

Abstract parent class for analysis factories that accept a stopwords file as input.

Concrete implementations can leverage the following input attributes. All attributes are optional:

- `ignoreCase` defaults to `false`
- `words` should be the name of a stopwords file to parse, if not specified the factory will use the value provided by `createDefaultWords()` implementation in concrete subclass.
- `format` defines how the `words` file will be parsed, and defaults to `wordset`. If `words` is not specified, then `format` must not be specified.

The valid values for the `format` option are:

- `wordset` - This is the default format, which supports one word per line (including any intra-word whitespace) and allows whole line comments beginning with the "#" character. Blank lines are ignored. See `WordlistLoader.getLines` for details.
- `snowball` - This format allows for multiple words specified on each line, and trailing comments may be specified using the vertical line ("|"). Blank lines are ignored. See `WordlistLoader.getSnowballWordSet` for details.

### Field Summary

Fields
`static String` `FORMAT_SNOWBALL`
`static String` `FORMAT_WORDSET`

### Fields inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory

`LUCENE_MATCH_VERSION_PARAM, luceneMatchVersion`

### Constructor Summary

Constructors
Constructor and Description
`AbstractWordsFileFilterFactory(Map<String,String> args)` Initialize this factory via a set of key-value pairs.

### Method Summary

All Methods Instance Methods Abstract Methods Concrete Methods
`protected abstract CharArraySet` `createDefaultWords()` Default word set implementation.
`String` `getFormat()`
`String` `getWordFiles()`
`CharArraySet` `getWords()`
`void` `inform(ResourceLoader loader)` Initialize the set of stopwords provided via ResourceLoader, or using defaults.
`boolean` `isIgnoreCase()`

### Methods inherited from class org.apache.lucene.analysis.util.TokenFilterFactory

`availableTokenFilters, create, findSPIName, forName, lookupClass, normalize, reloadTokenFilters`

### Methods inherited from class org.apache.lucene.analysis.util.AbstractAnalysisFactory

`get, get, get, get, get, getBoolean, getChar, getClassArg, getFloat, getInt, getLines, getLuceneMatchVersion, getOriginalArgs, getPattern, getSet, getSnowballWordSet, getWordSet, isExplicitLuceneMatchVersion, require, require, require, requireBoolean, requireChar, requireFloat, requireInt, setExplicitLuceneMatchVersion, splitAt, splitFileNames`

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

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

### Field Detail

#### FORMAT_WORDSET

    public static final String FORMAT_WORDSET

See Also:
  Constant Field Values

#### FORMAT_SNOWBALL

    public static final String FORMAT_SNOWBALL

See Also:
  Constant Field Values

### Constructor Detail

#### AbstractWordsFileFilterFactory

    public AbstractWordsFileFilterFactory(Map<String,String> args)

Initialize this factory via a set of key-value pairs.

### Method Detail

#### inform

    public void inform(ResourceLoader loader)
                throws IOException

Initialize the set of stopwords provided via ResourceLoader, or using defaults.

Specified by:
  `inform` in interface `ResourceLoaderAware`
Throws:
  `IOException`

#### createDefaultWords

    protected abstract CharArraySet createDefaultWords()

Default word set implementation.

#### getWords

    public CharArraySet getWords()

#### getWordFiles

    public String getWordFiles()

#### getFormat

    public String getFormat()

#### isIgnoreCase

    public boolean isIgnoreCase()