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


FilterManager.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 FILTERMANAGER_H
8 #define FILTERMANAGER_H
9 
10 #include "LuceneObject.h"
11 
12 namespace Lucene {
13 
20 class LPPAPI FilterManager : public LuceneObject {
21 public:
23  FilterManager();
24  virtual ~FilterManager();
25 
27 
28 protected:
30  static const int32_t DEFAULT_CACHE_CLEAN_SIZE;
31 
33  static const int64_t DEFAULT_CACHE_SLEEP_TIME;
34 
36  MapIntFilterItem cache;
37 
39  int32_t cacheCleanSize;
40 
42  int64_t cleanSleepTime;
43 
46 
47 public:
48  virtual void initialize();
49 
50  static FilterManagerPtr getInstance();
51 
54  void setCacheSize(int32_t cacheCleanSize);
55 
58  void setCleanThreadSleepTime(int64_t cleanSleepTime);
59 
64  FilterPtr getFilter(const FilterPtr& filter);
65 
66  friend class FilterCleaner;
67 };
68 
69 }
70 
71 #endif
boost::shared_ptr< FilterManager > FilterManagerPtr
Definition: LuceneTypes.h:367
MapIntFilterItem cache
The cache itself.
Definition: FilterManager.h:36
FilterCleanerPtr filterCleaner
Cache cleaner that runs in a separate thread.
Definition: FilterManager.h:45
boost::shared_ptr< FilterCleaner > FilterCleanerPtr
Definition: LuceneTypes.h:360
Base class for all Lucene classes.
Definition: LuceneObject.h:31
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Definition: AbstractAllTermDocs.h:12
int32_t cacheCleanSize
Maximum allowed cache size.
Definition: FilterManager.h:39
int64_t cleanSleepTime
Cache cleaning frequency.
Definition: FilterManager.h:42
static const int64_t DEFAULT_CACHE_SLEEP_TIME
The default frequency of cache cleanup.
Definition: FilterManager.h:33
Filter caching singleton. It can be used to save filters locally for reuse. Also could be used as a p...
Definition: FilterManager.h:20
boost::shared_ptr< Filter > FilterPtr
Definition: LuceneTypes.h:358

clucene.sourceforge.net