org.apache.lucene.analysis
public class CachingTokenFilter extends TokenFilter
CachingTokenFilter implements the optional method
TokenStream.reset()
, which repositions the
stream to the first Token.
AttributeSource.AttributeFactory, AttributeSource.State
input
Constructor and Description |
---|
CachingTokenFilter(TokenStream input) |
Modifier and Type | Method and Description |
---|---|
void |
end()
Performs end-of-stream operations, if any, and calls then
end() on the
input TokenStream.
NOTE: Be sure to call super.end() first when overriding this method. |
boolean |
incrementToken()
Consumers (i.e.,
IndexWriter ) use this method to advance the stream to
the next token. |
Token |
next()
Deprecated.
Will be removed in Lucene 3.0. This method is final, as it should
not be overridden. Delegates to the backwards compatibility layer.
|
Token |
next(Token reusableToken)
Deprecated.
Will be removed in Lucene 3.0. This method is final, as it should
not be overridden. Delegates to the backwards compatibility layer.
|
void |
reset()
Reset the filter as well as the input TokenStream.
|
close
getOnlyUseNewAPI, setOnlyUseNewAPI
addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, restoreState, toString
public CachingTokenFilter(TokenStream input)
public final Token next(Token reusableToken) throws java.io.IOException
TokenStream
This implicitly defines a "contract" between consumers (callers of this method) and producers (implementations of this method that are the source for tokens):
Token
before calling this method again.Token.clear()
before setting the fields in
it and returning itToken
after it
has been returned: the caller may arbitrarily change it. If the producer
needs to hold onto the Token
for subsequent calls, it must clone()
it before storing it. Note that a TokenFilter
is considered a
consumer.next
in class TokenStream
reusableToken
- a Token
that may or may not be used to return;
this parameter should never be null (the callee is not required to
check for null before using it, but it is a good idea to assert that
it is not null.)Token
in the stream or null if end-of-stream was hitjava.io.IOException
public final Token next() throws java.io.IOException
TokenStream
Token
in the stream, or null at EOS.next
in class TokenStream
java.io.IOException
public final boolean incrementToken() throws java.io.IOException
TokenStream
IndexWriter
) use this method to advance the stream to
the next token. Implementing classes must implement this method and update
the appropriate AttributeImpl
s with the attributes of the next
token.
The producer must make no assumptions about the attributes after the method
has been returned: the caller may arbitrarily change it. If the producer
needs to preserve the state for subsequent calls, it can use
AttributeSource.captureState()
to create a copy of the current attribute state.
This method is called for every token of a document, so an efficient
implementation is crucial for good performance. To avoid calls to
AttributeSource.addAttribute(Class)
and AttributeSource.getAttribute(Class)
or downcasts,
references to all AttributeImpl
s that this stream uses should be
retrieved during instantiation.
To ensure that filters and consumers know which attributes are available,
the attributes must be added during instantiation. Filters and consumers
are not required to check for availability of attributes in
TokenStream.incrementToken()
.
incrementToken
in class TokenStream
Note that this method will be defined abstract in Lucene 3.0.
java.io.IOException
public final void end() throws java.io.IOException
TokenFilter
end()
on the
input TokenStream.
NOTE: Be sure to call super.end()
first when overriding this method.end
in class TokenFilter
java.io.IOException
public void reset() throws java.io.IOException
TokenFilter
reset
in class TokenFilter
java.io.IOException
Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.