LookaheadTokenFilter (Lucene 3.6.2 API)
Keywords: org.apache.lucene.analysis.LookaheadTokenFilter class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.lucene.analysis
Class LookaheadTokenFilter<T extends LookaheadTokenFilter.Position>

    java.lang.Object
      org.apache.lucene.util.AttributeSource
          org.apache.lucene.analysis.TokenStream
              org.apache.lucene.analysis.TokenFilter
                  org.apache.lucene.analysis.LookaheadTokenFilter<T>

All Implemented Interfaces:
  Closeable

Direct Known Subclasses:
  MockGraphTokenFilter, MockRandomLookaheadTokenFilter

    public abstract class LookaheadTokenFilter<T extends LookaheadTokenFilter.Position>

extends TokenFilter

An abstract TokenFilter to make it easier to build graph token filters requiring some lookahead. This class handles the details of buffering up tokens, recording them by position, restoring them, providing access to them, etc.

Nested Class Summary
`protected static class` | `LookaheadTokenFilter.Position` Holds all state for a single position; subclass this to record other state at each position.

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

Field Summary
`protected boolean` | `end`
`protected int` | `inputPos`
`protected OffsetAttribute` | `offsetAtt`
`protected int` | `outputPos`
`protected PositionIncrementAttribute` | `posIncAtt`
`protected RollingBuffer<T>` | `positions`
`protected PositionLengthAttribute` | `posLenAtt`

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

Constructor Summary
`protected` | `LookaheadTokenFilter(TokenStream input)`

Method Summary
`protected void` | `afterPosition()` This is called when all input tokens leaving a given position have been returned.
`protected void` | `insertToken()` Call this only from within afterPosition, to insert a new token.
`protected abstract T` | `newPosition()`
`protected boolean` | `nextToken()` Call this when you are done looking ahead; it will set the next token to return.
`protected boolean` | `peekToken()` Returns true if there is a new token.
`void` | `reset()` Reset the filter as well as the input TokenStream.

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

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

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

Field Detail

### posIncAtt

    protected final PositionIncrementAttribute posIncAtt

### posLenAtt

    protected final PositionLengthAttribute posLenAtt

### offsetAtt

    protected final OffsetAttribute offsetAtt

### inputPos

    protected int inputPos

### outputPos

    protected int outputPos

### end

    protected boolean end

### positions

    protected final RollingBuffer<T extends LookaheadTokenFilter.Position> positions

Constructor Detail

### LookaheadTokenFilter

    protected LookaheadTokenFilter(TokenStream input)

Method Detail

### insertToken

    protected void insertToken()
                        throws IOException

  Call this only from within afterPosition, to insert a new token. After calling this you should set any necessary token you need.

  Throws:
    `IOException`

### afterPosition

    protected void afterPosition()
                          throws IOException

  This is called when all input tokens leaving a given position have been returned. Override this and call createToken and then set whichever token's attributes you want, if you want to inject a token starting from this position.

  Throws:
    `IOException`

### newPosition

    protected abstract T newPosition()

### peekToken

    protected boolean peekToken()
                         throws IOException

  Returns true if there is a new token.

  Throws:
    `IOException`

### nextToken

    protected boolean nextToken()
                         throws IOException

  Call this when you are done looking ahead; it will set the next token to return. Return the boolean back to the caller.

  Throws:
    `IOException`

### reset

    public void reset()
               throws IOException

  Description copied from class: `TokenFilter`
  Reset the filter as well as the input TokenStream.

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD