Package org.apache.lucene.analysis.miscellaneous

## Class ConditionalTokenFilterFactory

- java.lang.Object
- - org.apache.lucene.analysis.AbstractAnalysisFactory
  - - org.apache.lucene.analysis.TokenFilterFactory
    - - org.apache.lucene.analysis.miscellaneous.ConditionalTokenFilterFactory

- All Implemented Interfaces:
    `ResourceLoaderAware`
  Direct Known Subclasses:
    `ProtectedTermFilterFactory`

      public abstract class ConditionalTokenFilterFactory
      extends TokenFilterFactory
      implements ResourceLoaderAware

  Abstract parent class for analysis factories that create `ConditionalTokenFilter` instances
  Since:
    7.4.0
  SPI Name (case-insensitive: if the name is 'htmlStrip', 'htmlstrip' can be used when looking up the service).
    "conditional"

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `NAME` | SPI name

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

      `LUCENE_MATCH_VERSION_PARAM, luceneMatchVersion`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `` | `ConditionalTokenFilterFactory()` | Default ctor for compatibility with SPI
    `protected` | `ConditionalTokenFilterFactory​(Map<String,​String> args)` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `TokenStream` | `create​(TokenStream input)` |
    `protected abstract ConditionalTokenFilter` | `create​(TokenStream input, Function<TokenStream,​TokenStream> inner)` | Modify the incoming `TokenStream` with a `ConditionalTokenFilter`
    `protected void` | `doInform​(ResourceLoader loader)` | Initialises this component with the corresponding `ResourceLoader`
    `void` | `inform​(ResourceLoader loader)` |
    `void` | `setInnerFilters​(List<TokenFilterFactory> innerFilters)` | Set the inner filter factories to produce the `TokenFilter`s that will be wrapped by the `ConditionalTokenFilter`

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

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

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

- - ### Field Detail

    - #### NAME

          public static final String NAME

      SPI name
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ConditionalTokenFilterFactory

          protected ConditionalTokenFilterFactory​(Map<String,​String> args)

    - #### ConditionalTokenFilterFactory

          public ConditionalTokenFilterFactory()

      Default ctor for compatibility with SPI

  - ### Method Detail

    - #### setInnerFilters

          public void setInnerFilters​(List<TokenFilterFactory> innerFilters)

      Set the inner filter factories to produce the `TokenFilter`s that will be wrapped by the `ConditionalTokenFilter`

    - #### create

          public TokenStream create​(TokenStream input)

      Specified by:
        `create` in class `TokenFilterFactory`

    - #### inform

          public final void inform​(ResourceLoader loader)
                            throws IOException

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

    - #### doInform

          protected void doInform​(ResourceLoader loader)
                           throws IOException

      Initialises this component with the corresponding `ResourceLoader`
      Throws:
        `IOException`

    - #### create

          protected abstract ConditionalTokenFilter create​(TokenStream input,
                                                           Function<TokenStream,​TokenStream> inner)

      Modify the incoming `TokenStream` with a `ConditionalTokenFilter`