/**************************************************************************** ** ** Copyright (C) 2003-2006 Ben van Klinken and the CLucene Team. ** All rights reserved. ** ** Portion Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). ** All rights reserved. ** ** This file may be used under the terms of the GNU Lesser General Public ** License version 2.1 as published by the Free Software Foundation and ** appearing in the file LICENSE.LGPL included in the packaging of this file. ** Please review the following information to ensure the GNU Lesser General ** Public License version 2.1 requirements will be met: ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ****************************************************************************/ #ifndef QANALYZER_P_H #define QANALYZER_P_H // // W A R N I N G // ------------- // // This file is not part of the Qt API. It exists for the convenience // of the help generator tools. This header file may change from version // to version without notice, or even be removed. // // We mean it. // #include "qreader_p.h" #include "qtokenstream_p.h" #include "qclucene_global_p.h" #include #include #include #include #include CL_NS_DEF(analysis) class Analyzer; CL_NS_END CL_NS_USE(analysis) QT_BEGIN_NAMESPACE class QCLuceneIndexWriter; class QCLuceneQueryParser; class QCLuceneStopAnalyzer; class QCLuceneSimpleAnalyzer; class QCLuceneKeywordAnalyzer; class QCLuceneStandardAnalyzer; class QCLuceneWhitespaceAnalyzer; class QCLucenePerFieldAnalyzerWrapper; class QHELP_EXPORT QCLuceneAnalyzerPrivate : public QSharedData { public: QCLuceneAnalyzerPrivate(); QCLuceneAnalyzerPrivate(const QCLuceneAnalyzerPrivate &other); ~QCLuceneAnalyzerPrivate(); Analyzer *analyzer; bool deleteCLuceneAnalyzer; private: QCLuceneAnalyzerPrivate &operator=(const QCLuceneAnalyzerPrivate &other); }; class QHELP_EXPORT QCLuceneAnalyzer { public: virtual ~QCLuceneAnalyzer(); qint32 positionIncrementGap(const QString &fieldName) const; QCLuceneTokenStream tokenStream(const QString &fieldName, const QCLuceneReader &reader) const; protected: friend class QCLuceneIndexWriter; friend class QCLuceneQueryParser; friend class QCLuceneStopAnalyzer; friend class QCLuceneSimpleAnalyzer; friend class QCLuceneKeywordAnalyzer; friend class QCLuceneStandardAnalyzer; friend class QCLuceneWhitespaceAnalyzer; friend class QCLucenePerFieldAnalyzerWrapper; QSharedDataPointer d; private: QCLuceneAnalyzer(); }; class QHELP_EXPORT QCLuceneStandardAnalyzer : public QCLuceneAnalyzer { public: QCLuceneStandardAnalyzer(); QCLuceneStandardAnalyzer(const QStringList &stopWords); ~QCLuceneStandardAnalyzer(); }; class QHELP_EXPORT QCLuceneWhitespaceAnalyzer : public QCLuceneAnalyzer { public: QCLuceneWhitespaceAnalyzer(); ~QCLuceneWhitespaceAnalyzer(); }; class QHELP_EXPORT QCLuceneSimpleAnalyzer : public QCLuceneAnalyzer { public: QCLuceneSimpleAnalyzer(); ~QCLuceneSimpleAnalyzer(); }; class QHELP_EXPORT QCLuceneStopAnalyzer : public QCLuceneAnalyzer { public: QCLuceneStopAnalyzer(); QCLuceneStopAnalyzer(const QStringList &stopWords); ~QCLuceneStopAnalyzer(); QStringList englishStopWords() const; }; class QHELP_EXPORT QCLuceneKeywordAnalyzer : public QCLuceneAnalyzer { public: QCLuceneKeywordAnalyzer(); ~QCLuceneKeywordAnalyzer(); }; class QHELP_EXPORT QCLucenePerFieldAnalyzerWrapper : public QCLuceneAnalyzer { public: QCLucenePerFieldAnalyzerWrapper(QCLuceneAnalyzer *defaultAnalyzer); ~QCLucenePerFieldAnalyzerWrapper(); void addAnalyzer(const QString &fieldName, QCLuceneAnalyzer *analyzer); private: QList analyzers; }; QT_END_NAMESPACE #endif // QANALYZER_P_H