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

TermAttribute.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 TERMATTRIBUTE_H
8 #define TERMATTRIBUTE_H
9
10 #include "Attribute.h"
11
12 namespace Lucene {
13
15 class LPPAPI TermAttribute : public Attribute {
16 public:
17 TermAttribute();
18 virtual ~TermAttribute();
19
20 LUCENE_CLASS(TermAttribute);
21
22 protected:
23 static const int32_t MIN_BUFFER_SIZE;
24
25 CharArray _termBuffer;
26 int32_t _termLength;
27
28 public:
29 virtual String toString();
30
37 virtual String term();
38
43 virtual void setTermBuffer(const wchar_t* buffer, int32_t offset, int32_t length);
44
47 virtual void setTermBuffer(const String& buffer);
48
53 virtual CharArray termBuffer();
54
56 virtual wchar_t* termBufferArray();
57
64 virtual CharArray resizeTermBuffer(int32_t newSize);
65
67 virtual int32_t termLength();
68
73 virtual void setTermLength(int32_t length);
74
75 virtual int32_t hashCode();
76 virtual void clear();
77 virtual LuceneObjectPtr clone(const LuceneObjectPtr& other = LuceneObjectPtr());
78 virtual bool equals(const LuceneObjectPtr& other);
79 virtual void copyTo(const AttributePtr& target);
80
81 protected:
85 void growTermBuffer(int32_t newSize);
86
87 void initTermBuffer();
88 };
89
90 }
91
92 #endif
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene::LuceneObjectPtr
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition: LuceneTypes.h:539
Lucene::Attribute
Base class for Attributes that can be added to a AttributeSource.
Definition: Attribute.h:18
Lucene::TermAttribute
The term text of a Token.
Definition: TermAttribute.h:15
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::TermAttribute::_termLength
int32_t _termLength
Definition: TermAttribute.h:26
Lucene::TermAttribute::_termBuffer
CharArray _termBuffer
Definition: TermAttribute.h:25
Lucene::AttributePtr
boost::shared_ptr< Attribute > AttributePtr
Definition: LuceneTypes.h:518
Attribute.h

clucene.sourceforge.net