source: trunk/tools/assistant/lib/fulltextsearch/qtokenizer.cpp@ 353

Last change on this file since 353 was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 2.9 KB
Line 
1/****************************************************************************
2**
3** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
4** Contact: Qt Software Information ([email protected])
5**
6** This file is part of the QCLucene library and is distributable under
7** the terms of the LGPL license as specified in the license.txt file.
8**
9****************************************************************************/
10
11#include "qtokenizer_p.h"
12#include "qclucene_global_p.h"
13
14#include <CLucene.h>
15#include <CLucene/analysis/AnalysisHeader.h>
16
17QT_BEGIN_NAMESPACE
18
19QCLuceneTokenizer::QCLuceneTokenizer()
20 : QCLuceneTokenStream()
21{
22 // nothing todo
23}
24
25QCLuceneTokenizer::QCLuceneTokenizer(const QCLuceneReader &reader)
26 : QCLuceneTokenStream()
27 , reader(reader)
28{
29 // nothing todo
30}
31
32QCLuceneTokenizer::~QCLuceneTokenizer()
33{
34 close();
35}
36
37void QCLuceneTokenizer::close()
38{
39 d->tokenStream->close();
40}
41
42bool QCLuceneTokenizer::next(QCLuceneToken &token)
43{
44 return d->tokenStream->next(token.d->token);
45}
46
47
48QCLuceneStandardTokenizer::QCLuceneStandardTokenizer(const QCLuceneReader &reader)
49 : QCLuceneTokenizer(reader)
50{
51 d->tokenStream =
52 new lucene::analysis::standard::StandardTokenizer(reader.d->reader);
53}
54
55QCLuceneStandardTokenizer::~QCLuceneStandardTokenizer()
56{
57 // nothing todo
58}
59
60bool QCLuceneStandardTokenizer::readApostrophe(const QString &string,
61 QCLuceneToken &token)
62{
63 lucene::analysis::standard::StandardTokenizer *stdTokenizer =
64 static_cast<lucene::analysis::standard::StandardTokenizer*> (d->tokenStream);
65
66 if (stdTokenizer == 0)
67 return false;
68
69 TCHAR* value = QStringToTChar(string);
70 lucene::util::StringBuffer buffer(value);
71 bool retValue = stdTokenizer->ReadApostrophe(&buffer, token.d->token);
72 delete [] value;
73
74 return retValue;
75}
76
77bool QCLuceneStandardTokenizer::readAt(const QString &string, QCLuceneToken &token)
78{
79 lucene::analysis::standard::StandardTokenizer *stdTokenizer =
80 static_cast<lucene::analysis::standard::StandardTokenizer*> (d->tokenStream);
81
82 if (stdTokenizer == 0)
83 return false;
84
85 TCHAR* value = QStringToTChar(string);
86 lucene::util::StringBuffer buffer(value);
87 bool retValue = stdTokenizer->ReadAt(&buffer, token.d->token);
88 delete [] value;
89
90 return retValue;
91}
92
93bool QCLuceneStandardTokenizer::readCompany(const QString &string,
94 QCLuceneToken &token)
95{
96 lucene::analysis::standard::StandardTokenizer *stdTokenizer =
97 static_cast<lucene::analysis::standard::StandardTokenizer*> (d->tokenStream);
98
99 if (stdTokenizer == 0)
100 return false;
101
102 TCHAR* value = QStringToTChar(string);
103 lucene::util::StringBuffer buffer(value);
104 bool retValue = stdTokenizer->ReadCompany(&buffer, token.d->token);
105 delete [] value;
106
107 return retValue;
108}
109
110QT_END_NAMESPACE
Note: See TracBrowser for help on using the repository browser.