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


Loading...
Searching...
No Matches
TermAttribute.h
Go to the documentation of this file.
1
2// 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
12namespace Lucene {
13
15class LPPAPI TermAttribute : public Attribute {
16public:
18 virtual ~TermAttribute();
19
21
22protected:
23 static const int32_t MIN_BUFFER_SIZE;
24
25 CharArray _termBuffer;
26 int32_t _termLength;
27
28public:
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
81protected:
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 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:23
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 wchar_t * termBufferArray()
Optimized implementation of termBuffer.
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