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.
5 /////////////////////////////////////////////////////////////////////////////
6 
7 #ifndef TERMVECTORENTRY_H
8 #define TERMVECTORENTRY_H
9 
10 #include "LuceneObject.h"
11 
12 namespace Lucene {
13 
14 /// Convenience class for holding TermVector information.
15 class LPPAPI TermVectorEntry : public LuceneObject {
16 public:
17     TermVectorEntry(const String& field = EmptyString, const String& term = EmptyString, int32_t frequency = 0,
18                     Collection<TermVectorOffsetInfoPtr> offsets = Collection<TermVectorOffsetInfoPtr>(),
19                     Collection<int32_t> positions = Collection<int32_t>());
20     virtual ~TermVectorEntry();
21 
22     LUCENE_CLASS(TermVectorEntry);
23 
24 protected:
25     String field;
26     String term;
27     int32_t frequency;
28     Collection<TermVectorOffsetInfoPtr> offsets;
29     Collection<int32_t> positions;
30 
31 public:
32     String getField();
33     int32_t getFrequency();
34     Collection<TermVectorOffsetInfoPtr> getOffsets();
35     Collection<int32_t> getPositions();
36     String getTerm();
37 
38     void setFrequency(int32_t frequency);
39     void setOffsets(Collection<TermVectorOffsetInfoPtr> offsets);
40     void setPositions(Collection<int32_t> positions);
41 
42     virtual bool equals(const LuceneObjectPtr& other);
43     virtual int32_t hashCode();
44     virtual String toString();
45 };
46 
47 }
48 
49 #endif
50