## org.apache.lucene.analysis
Class TokenFilter

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

All Implemented Interfaces:
  Closeable

Direct Known Subclasses:
  CachingTokenFilter

    public abstract class TokenFilter

extends TokenStream

A TokenFilter is a TokenStream whose input is another TokenStream.

This is an abstract class; subclasses must override `TokenStream.incrementToken()`.

See Also:
  `TokenStream`

Nested Class Summary

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

Field Summary
`protected TokenStream` `input` The source of tokens for this filter.

Constructor Summary
`protected` `TokenFilter(TokenStream input)` Construct a token stream filtering the given input.

Method Summary
`void` `close()` Releases resources associated with this stream.
`void` `end()` This method is called by the consumer after the last token has been consumed, after `TokenStream.incrementToken()` returned `false` (using the new `TokenStream` API).
`void` `reset()` This method is called by a consumer before it begins consumption using `TokenStream.incrementToken()`.

Methods inherited from class org.apache.lucene.analysis.TokenStream
`incrementToken`

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`

Field Detail

### input

    protected final TokenStream input

  The source of tokens for this filter.

Constructor Detail

### TokenFilter

    protected TokenFilter(TokenStream input)

  Construct a token stream filtering the given input.

Method Detail

### end

    public void end()
             throws IOException

  This method is called by the consumer after the last token has been consumed, after `TokenStream.incrementToken()` returned `false` (using the new `TokenStream` API). Streams implementing the old API should upgrade to use this feature.

  This method can be used to perform any end-of-stream operations, such as setting the final offset of a stream. The final offset of a stream might differ from the offset of the last token eg in case one or more whitespaces followed after the last token, but a WhitespaceTokenizer was used.

  NOTE: The default implementation chains the call to the input TokenStream, so be sure to call `super.end()` first when overriding this method.

  Overrides:
    `end` in class `TokenStream`
  Throws:
    `IOException` - If an I/O error occurs

### close

    public void close()
               throws IOException

  Releases resources associated with this stream.

  NOTE: The default implementation chains the call to the input TokenStream, so be sure to call `super.close()` when overriding this method.

  Specified by:
    `close` in interface `Closeable`
  Overrides:
    `close` in class `TokenStream`
  Throws:
    `IOException`

### reset

    public void reset()
               throws IOException

  This method is called by a consumer before it begins consumption using `TokenStream.incrementToken()`.

  Resets this stream to a clean state. Stateful implementations must implement this method so that they can be reused, just as if they had been created fresh.

  NOTE: The default implementation chains the call to the input TokenStream, so be sure to call `super.reset()` when overriding this method.

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

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