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:
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();
78  virtual bool equals(const LuceneObjectPtr& other);
79  virtual void copyTo(const AttributePtr& target);
80 
81 protected:
85  void growTermBuffer(int32_t newSize);
86 
88 };
89 
90 }
91 
92 #endif
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Base class for Attributes that can be added to a AttributeSource.
Definition: Attribute.h:18
The term text of a Token.
Definition: TermAttribute.h:15
virtual wchar_t * termBufferArray()
Optimized implementation of termBuffer.
virtual LuceneObjectPtr clone(const LuceneObjectPtr &other=LuceneObjectPtr())
Shallow clone. Subclasses must override this if they need to clone any members deeply.
virtual String toString()
Returns a string representation of the object.
virtual bool equals(const LuceneObjectPtr &other)
All values used for computation of hashCode() should be checked here for equality.
int32_t _termLength
Definition: TermAttribute.h:26
virtual int32_t hashCode()
Subclasses must implement this method and should compute a hashCode similar to this:
static const int32_t MIN_BUFFER_SIZE
Definition: TermAttribute.h:20
virtual void setTermLength(int32_t length)
Set number of valid characters (length of the term) in the termBuffer array. Use this to truncate the...
virtual String term()
Returns the Token's term text.
virtual void clear()
Clears the values in this Attribute and resets it to its default value. If this implementation implem...
virtual int32_t termLength()
Return number of valid characters (length of the term) in the termBuffer array.
virtual void copyTo(const AttributePtr &target)
Copies the values from this Attribute into the passed-in target attribute. The target implementation ...
CharArray _termBuffer
Definition: TermAttribute.h:25
virtual CharArray termBuffer()
Returns the internal termBuffer character array which you can then directly alter....
virtual void setTermBuffer(const wchar_t *buffer, int32_t offset, int32_t length)
Copies the contents of buffer, starting at offset for length characters, into the termBuffer array.
virtual CharArray resizeTermBuffer(int32_t newSize)
Grows the termBuffer to at least size newSize, preserving the existing content. Note: If the next ope...
void growTermBuffer(int32_t newSize)
Allocates a buffer char[] of at least newSize, without preserving the existing content....
virtual void setTermBuffer(const String &buffer)
Copies the contents of buffer into the termBuffer array.
Definition: AbstractAllTermDocs.h:12
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition: LuceneTypes.h:539
boost::shared_ptr< Attribute > AttributePtr
Definition: LuceneTypes.h:518

clucene.sourceforge.net