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 
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
The term text of a Token.
Definition: TermAttribute.h:15
CharArray _termBuffer
Definition: TermAttribute.h:25
Base class for Attributes that can be added to a AttributeSource.
Definition: Attribute.h:18
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition: LuceneTypes.h:539
boost::shared_ptr< Attribute > AttributePtr
Definition: LuceneTypes.h:518
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Definition: AbstractAllTermDocs.h:12
int32_t _termLength
Definition: TermAttribute.h:26

clucene.sourceforge.net