## org.apache.lucene.analysis.util
Class FilteringTokenFilter

    java.lang.Object
      org.apache.lucene.util.AttributeSource
          org.apache.lucene.analysis.TokenStream
              org.apache.lucene.analysis.TokenFilter
                  org.apache.lucene.analysis.util.FilteringTokenFilter

All Implemented Interfaces:
  Closeable

Direct Known Subclasses:
  KeepWordFilter, LengthFilter, StopFilter, TypeTokenFilter

    public abstract class FilteringTokenFilter

extends TokenFilter

Abstract base class for TokenFilters that may remove tokens. You have to implement `accept()` and return a boolean if the current token should be preserved. `incrementToken()` uses this method to decide if a token should be passed to the caller.

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource
`AttributeSource.AttributeFactory, AttributeSource.State`

Field Summary

Fields inherited from class org.apache.lucene.analysis.TokenFilter
`input`

Constructor Summary
`FilteringTokenFilter(boolean enablePositionIncrements, TokenStream input)`

Method Summary
`protected abstract boolean` `accept()` Override this method and return if the current input token should be returned by `incrementToken()`.
`boolean` `getEnablePositionIncrements()`
`boolean` `incrementToken()`
`void` `reset()`
`void` `setEnablePositionIncrements(boolean enable)` If `true`, this TokenFilter will preserve positions of the incoming tokens (ie, accumulate and set position increments of the removed tokens).

Methods inherited from class org.apache.lucene.analysis.TokenFilter
`close, end`

Methods inherited from class org.apache.lucene.util.AttributeSource
`addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, restoreState`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### FilteringTokenFilter

    public FilteringTokenFilter(boolean enablePositionIncrements,
                                TokenStream input)

Method Detail

### accept

    protected abstract boolean accept()
                               throws IOException

  Override this method and return if the current input token should be returned by `incrementToken()`.

  Throws:
    `IOException`

### incrementToken

    public final boolean incrementToken()
                                 throws IOException

  Specified by:
    `incrementToken` in class `TokenStream`
  Throws:
    `IOException`

### reset

    public void reset()
               throws IOException

  Overrides:
    `reset` in class `TokenFilter`
  Throws:
    `IOException`

### getEnablePositionIncrements

    public boolean getEnablePositionIncrements()

  See Also:
    `setEnablePositionIncrements(boolean)`

### setEnablePositionIncrements

    public void setEnablePositionIncrements(boolean enable)

  If `true`, this TokenFilter will preserve positions of the incoming tokens (ie, accumulate and set position increments of the removed tokens). Generally, `true` is best as it does not lose information (positions of the original tokens) during indexing.

  When set, when a token is stopped (omitted), the position increment of the following token is incremented.

  NOTE: be sure to also set org.apache.lucene.queryparser.classic.QueryParser#setEnablePositionIncrements if you use QueryParser to create queries.

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.