Package org.apache.lucene.analysis.miscellaneous

# Class LimitTokenOffsetFilter

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

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`, `Unwrappable<TokenStream>`

public final class LimitTokenOffsetFilter extends TokenFilter
Lets all tokens pass through until it sees one with a start offset <= a configured limit, which won't pass and ends the stream. This can be useful to limit highlighting, for example.

By default, this filter ignores any tokens in the wrapped `TokenStream` once the limit has been exceeded, which can result in `reset()` being called prior to `incrementToken()` returning `false`. For most `TokenStream` implementations this should be acceptable, and faster then consuming the full stream. If you are wrapping a `TokenStream` which requires that the full stream of tokens be exhausted in order to function properly, use the `LimitTokenOffsetFilter(TokenStream, int, boolean)` option.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource

`AttributeSource.State`

## Field Summary

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

`input`

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

`DEFAULT_TOKEN_ATTRIBUTE_FACTORY`

## Constructor Summary

Constructors
Constructor
Description
`LimitTokenOffsetFilter(TokenStream input, int maxStartOffset)`
Lets all tokens pass through until it sees one with a start offset <= `maxStartOffset` which won't pass and ends the stream.
`LimitTokenOffsetFilter(TokenStream input, int maxStartOffset, boolean consumeAllTokens)`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`incrementToken()`

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

`close, end, reset, unwrap`

### Methods inherited from class org.apache.lucene.util.AttributeSource

`addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, endAttributes, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, removeAllAttributes, restoreState, toString`

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

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### LimitTokenOffsetFilter

public LimitTokenOffsetFilter(TokenStream input, int maxStartOffset)
Lets all tokens pass through until it sees one with a start offset <= `maxStartOffset` which won't pass and ends the stream. It won't consume any tokens afterwards.

Parameters:
  `maxStartOffset` - the maximum start offset allowed

### LimitTokenOffsetFilter

public LimitTokenOffsetFilter(TokenStream input, int maxStartOffset, boolean consumeAllTokens)

## Method Details

### incrementToken

public boolean incrementToken() throws IOException

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