Package org.apache.lucene.analysis

# Class TokenFilterFactory

java.lang.Object
org.apache.lucene.analysis.AbstractAnalysisFactory
org.apache.lucene.analysis.TokenFilterFactory

public abstract class TokenFilterFactory extends AbstractAnalysisFactory
Abstract parent class for analysis factories that create `TokenFilter` instances.

Since:
  3.1

## Field Summary

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

`LUCENE_MATCH_VERSION_PARAM, luceneMatchVersion`

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`TokenFilterFactory()`
Default ctor for compatibility with SPI
`protected`
`TokenFilterFactory(Map<String,String> args)`
Initialize this factory via a set of key-value pairs.

## Method Summary

Modifier and Type
Method
Description
`static Set<String>`
`availableTokenFilters()`
returns a list of all available tokenfilter names from context classpath
`abstract TokenStream`
`create(TokenStream input)`
Transform the specified input TokenStream
`static String`
`findSPIName(Class<? extends TokenFilterFactory> serviceClass)`
looks up a SPI name for the specified token filter factory
`static TokenFilterFactory`
`forName(String name, Map<String,String> args)`
looks up a tokenfilter by name from context classpath
`static Class<? extends TokenFilterFactory>`
`lookupClass(String name)`
looks up a tokenfilter class by name from context classpath
`TokenStream`
`normalize(TokenStream input)`
Normalize the specified input TokenStream While the default implementation returns input unchanged, filters that should be applied at normalization time can delegate to `create` method.
`static void`
`reloadTokenFilters(ClassLoader classloader)`
Reloads the factory list from the given `ClassLoader`.

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

`defaultCtorException, 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`

## Constructor Details

### TokenFilterFactory

protected TokenFilterFactory()
Default ctor for compatibility with SPI

### TokenFilterFactory

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

## Method Details

### forName

public static TokenFilterFactory forName(String name, Map<String,String> args)
looks up a tokenfilter by name from context classpath

### lookupClass

public static Class<? extends TokenFilterFactory> lookupClass(String name)
looks up a tokenfilter class by name from context classpath

### availableTokenFilters

public static Set<String> availableTokenFilters()
returns a list of all available tokenfilter names from context classpath

### findSPIName

public static String findSPIName(Class<? extends TokenFilterFactory> serviceClass)
looks up a SPI name for the specified token filter factory

### reloadTokenFilters

public static void reloadTokenFilters(ClassLoader classloader)
Reloads the factory list from the given `ClassLoader`. Changes to the factories are visible after the method ends, all iterators (`availableTokenFilters()`,...) stay consistent.

NOTE: Only new factories are added, existing ones are never removed or replaced.

This method is expensive and should only be called for discovery of new factories on the given classpath/classloader!

### create

public abstract TokenStream create(TokenStream input)
Transform the specified input TokenStream

### normalize

public TokenStream normalize(TokenStream input)
Normalize the specified input TokenStream While the default implementation returns input unchanged, filters that should be applied at normalization time can delegate to `create` method.