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,Unwrappable<TokenStream>
- 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 protectedConditionalTokenFilter(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 voidclose()voidend()booleanincrementToken()voidreset()protected abstract booleanshouldFilter()Whether or not to execute the wrapped TokenFilter(s) for the current token-
Methods inherited from class org.apache.lucene.analysis.TokenFilter
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
-
-
-
-
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 IOExceptionWhether or not to execute the wrapped TokenFilter(s) for the current token- Throws:
IOException
-
reset
public void reset() throws IOException- Overrides:
resetin classTokenFilter- Throws:
IOException
-
end
public void end() throws IOException- Overrides:
endin classTokenFilter- Throws:
IOException
-
close
public void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classTokenFilter- Throws:
IOException
-
incrementToken
public final boolean incrementToken() throws IOException- Specified by:
incrementTokenin classTokenStream- Throws:
IOException
-
-