Class ConditionalTokenFilter
- java.lang.Object
-
- org.apache.lucene.util.AttributeSource
-
- org.apache.lucene.analysis.TokenStream
-
- org.apache.lucene.analysis.TokenFilter
-
- org.apache.lucene.analysis.miscellaneous.ConditionalTokenFilter
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
- Direct Known Subclasses:
ProtectedTermFilter
public abstract class ConditionalTokenFilter extends TokenFilter
Allows skipping TokenFilters based on the current set of attributes.To use, implement the
shouldFilter()
method. If it returnstrue
, then callingincrementToken()
will use the wrapped TokenFilter(s) to make changes to the tokenstream. If it returnsfalse
, then the wrapped filter(s) will be skipped.
-
-
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 Modifier Constructor Description protected
ConditionalTokenFilter(TokenStream input, Function<TokenStream,TokenStream> inputFactory)
Create a new ConditionalTokenFilter
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
close()
void
end()
boolean
incrementToken()
void
reset()
protected abstract boolean
shouldFilter()
Whether or not to execute the wrapped TokenFilter(s) for the current token-
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
-
-
-
-
Constructor Detail
-
ConditionalTokenFilter
protected ConditionalTokenFilter(TokenStream input, Function<TokenStream,TokenStream> inputFactory)
Create a new ConditionalTokenFilter- Parameters:
input
- the input TokenStreaminputFactory
- a factory function to create the wrapped filter(s)
-
-
Method Detail
-
shouldFilter
protected abstract boolean shouldFilter() throws IOException
Whether or not to execute the wrapped TokenFilter(s) for the current token- Throws:
IOException
-
reset
public void reset() throws IOException
- Overrides:
reset
in classTokenFilter
- Throws:
IOException
-
end
public void end() throws IOException
- Overrides:
end
in classTokenFilter
- Throws:
IOException
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classTokenFilter
- Throws:
IOException
-
incrementToken
public final boolean incrementToken() throws IOException
- Specified by:
incrementToken
in classTokenStream
- Throws:
IOException
-
-