Lucene++ - a full-featured, c++ search engine
API Documentation


TeeSinkTokenFilter.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2014 Alan Wright. All rights reserved.
3 // Distributable under the terms of either the Apache License (Version 2.0)
4 // or the GNU Lesser General Public License.
6 
7 #ifndef TEESINKTOKENFILTER_H
8 #define TEESINKTOKENFILTER_H
9 
10 #include "TokenFilter.h"
11 #include "TokenStream.h"
12 
13 namespace Lucene {
14 
62 class LPPAPI TeeSinkTokenFilter : public TokenFilter {
63 public:
67 
69 
70 protected:
72 
73 public:
76 
81 
85 
90 
91  virtual bool incrementToken();
92  virtual void end();
93 };
94 
95 class LPPAPI SinkFilter : public LuceneObject {
96 public:
97  virtual ~SinkFilter();
98 
100 
101 public:
103  virtual bool accept(const AttributeSourcePtr& source) = 0;
104 
106  virtual void reset();
107 };
108 
109 class LPPAPI AcceptAllSinkFilter : public SinkFilter {
110 public:
112 
114 
115 public:
116  virtual bool accept(const AttributeSourcePtr& source);
117 };
118 
120 class LPPAPI SinkTokenStream : public TokenStream {
121 public:
122  SinkTokenStream(const AttributeSourcePtr& source, const SinkFilterPtr& filter);
123  virtual ~SinkTokenStream();
124 
126 
127 protected:
133 
134 protected:
135  bool accept(const AttributeSourcePtr& source);
136  void addState(const AttributeSourceStatePtr& state);
137  void setFinalState(const AttributeSourceStatePtr& finalState);
138 
139 public:
140  virtual bool incrementToken();
141  virtual void end();
142  virtual void reset();
143 
144  friend class TeeSinkTokenFilter;
145 };
146 
147 }
148 
149 #endif
Lucene::TeeSinkTokenFilter::sinks
Collection< SinkTokenStreamPtr > sinks
Definition: TeeSinkTokenFilter.h:68
Lucene::SinkTokenStreamPtr
boost::shared_ptr< SinkTokenStream > SinkTokenStreamPtr
Definition: LuceneTypes.h:48
Lucene::SinkTokenStream::end
virtual void end()
This method is called by the consumer after the last token has been consumed, after incrementToken() ...
Lucene::SinkTokenStream::setFinalState
void setFinalState(const AttributeSourceStatePtr &finalState)
Lucene::SinkTokenStream::finalState
AttributeSourceStatePtr finalState
Definition: TeeSinkTokenFilter.h:129
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene::TeeSinkTokenFilter::newSinkTokenStream
SinkTokenStreamPtr newSinkTokenStream()
Returns a new SinkTokenStream that receives all tokens consumed by this stream.
Lucene::Collection< SinkTokenStreamPtr >
Lucene::SinkTokenStream::~SinkTokenStream
virtual ~SinkTokenStream()
Lucene::SinkTokenStream::initIterator
bool initIterator
Definition: TeeSinkTokenFilter.h:130
Lucene::SinkFilter::accept
virtual bool accept(const AttributeSourcePtr &source)=0
Returns true, if the current state of the passed-in AttributeSource shall be stored in the sink.
Lucene::AcceptAllSinkFilter::~AcceptAllSinkFilter
virtual ~AcceptAllSinkFilter()
Lucene::SinkFilter::reset
virtual void reset()
Called by SinkTokenStream#reset(). This method does nothing by default and can optionally be overridd...
Lucene::SinkTokenStream::accept
bool accept(const AttributeSourcePtr &source)
Lucene::TokenStream
A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text.
Definition: TokenStream.h:44
Lucene::SinkTokenStream::reset
virtual void reset()
Resets this stream to the beginning. This is an optional operation, so subclasses may or may not impl...
Lucene::AttributeSourceStatePtr
boost::shared_ptr< AttributeSourceState > AttributeSourceStatePtr
Definition: LuceneTypes.h:521
Lucene::TeeSinkTokenFilter::addSinkTokenStream
void addSinkTokenStream(const SinkTokenStreamPtr &sink)
Adds a SinkTokenStream created by another TeeSinkTokenFilter to this one. The supplied stream will al...
Lucene::SinkFilter
Definition: TeeSinkTokenFilter.h:95
TokenFilter.h
Lucene::AcceptAllSinkFilter::accept
virtual bool accept(const AttributeSourcePtr &source)
Returns true, if the current state of the passed-in AttributeSource shall be stored in the sink.
TokenStream.h
Lucene::TokenFilter
A TokenFilter is a TokenStream whose input is another TokenStream.
Definition: TokenFilter.h:18
Lucene::TeeSinkTokenFilter
This TokenFilter provides the ability to set aside attribute states that have already been analyzed....
Definition: TeeSinkTokenFilter.h:62
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::LuceneObject
Base class for all Lucene classes.
Definition: LuceneObject.h:31
Lucene::SinkTokenStream
A filter that decides which AttributeSource states to store in the sink.
Definition: TeeSinkTokenFilter.h:120
Lucene::SinkTokenStream::incrementToken
virtual bool incrementToken()
Consumers (ie., IndexWriter) use this method to advance the stream to the next token....
Lucene::AttributeSourcePtr
boost::shared_ptr< AttributeSource > AttributeSourcePtr
Definition: LuceneTypes.h:520
Lucene::SinkTokenStream::filter
SinkFilterPtr filter
Definition: TeeSinkTokenFilter.h:132
Lucene::TeeSinkTokenFilter::TeeSinkTokenFilter
TeeSinkTokenFilter(const TokenStreamPtr &input)
Instantiates a new TeeSinkTokenFilter.
Lucene::TeeSinkTokenFilter::consumeAllTokens
void consumeAllTokens()
TeeSinkTokenFilter passes all tokens to the added sinks when itself is consumed. To be sure,...
Lucene::TeeSinkTokenFilter::end
virtual void end()
Performs end-of-stream operations, if any, and calls then end() on the input TokenStream....
Lucene::SinkFilter::~SinkFilter
virtual ~SinkFilter()
Lucene::SinkTokenStream::SinkTokenStream
SinkTokenStream(const AttributeSourcePtr &source, const SinkFilterPtr &filter)
Lucene::TeeSinkTokenFilter::~TeeSinkTokenFilter
virtual ~TeeSinkTokenFilter()
Lucene::AcceptAllSinkFilter
Definition: TeeSinkTokenFilter.h:109
Lucene::TokenStreamPtr
boost::shared_ptr< TokenStream > TokenStreamPtr
Definition: LuceneTypes.h:63
Lucene::SinkTokenStream::cachedStates
Collection< AttributeSourceStatePtr > cachedStates
Definition: TeeSinkTokenFilter.h:125
Lucene::SinkFilterPtr
boost::shared_ptr< SinkFilter > SinkFilterPtr
Definition: LuceneTypes.h:47
Lucene::TeeSinkTokenFilter::newSinkTokenStream
SinkTokenStreamPtr newSinkTokenStream(const SinkFilterPtr &filter)
Returns a new SinkTokenStream that receives all tokens consumed by this stream that pass the supplied...
Lucene::SinkTokenStream::addState
void addState(const AttributeSourceStatePtr &state)
Lucene::TeeSinkTokenFilter::incrementToken
virtual bool incrementToken()
Consumers (ie., IndexWriter) use this method to advance the stream to the next token....
Lucene::SinkTokenStream::it
Collection< AttributeSourceStatePtr >::iterator it
Definition: TeeSinkTokenFilter.h:131

clucene.sourceforge.net