concordia-library/concordia/concordia_config.hpp

119 lines
3.0 KiB
C++
Raw Normal View History

2013-10-24 17:08:58 +02:00
#ifndef CONCORDIA_CONFIG_HDR
#define CONCORDIA_CONFIG_HDR
#include <string>
#include <list>
#include <libconfig.h++>
#include "concordia/concordia_exception.hpp"
/*!
Class representing the Concordia configuration.
*/
class ConcordiaConfig {
public:
/*!
Constructor.
\param configFilePath path of the configuration file (see \ref running3 for file specification).
\throws ConcordiaException
*/
explicit ConcordiaConfig(const std::string & configFilePath)
throw(ConcordiaException);
2013-10-24 17:08:58 +02:00
/*! Destructor.
*/
virtual ~ConcordiaConfig();
2015-04-30 22:22:54 +02:00
/*! Getter for word map file path.
For more information see \ref tutorial3.
\returns word map file path
*/
std::string & getWordMapFilePath() {
2013-11-28 16:47:57 +01:00
return _wordMapFilePath;
}
2015-04-30 22:22:54 +02:00
/*! Getter for hashed index file path.
For more information see \ref tutorial3.
\returns hashed index file path
*/
std::string & getHashedIndexFilePath() {
2013-11-28 16:47:57 +01:00
return _hashedIndexFilePath;
}
2015-04-30 22:22:54 +02:00
/*! Getter for markers file path.
For more information see \ref tutorial3.
\returns markers file path
*/
std::string & getMarkersFilePath() {
return _markersFilePath;
}
2015-04-30 22:22:54 +02:00
/*! Getter for html tags file path.
For more information see \ref tutorial3.
\returns html tags file path
*/
std::string & getHtmlTagsFilePath() {
return _htmlTagsFilePath;
}
2015-04-30 22:22:54 +02:00
/*! Getter for stop symbols enabled parameter.
For more information see \ref tutorial3.
\returns true if stop words are enabled
*/
bool & isStopWordsEnabled() {
return _stopWordsEnabled;
}
2015-04-30 22:22:54 +02:00
/*! Getter for stop words file path.
For more information see \ref tutorial3.
\returns stop words file path
*/
std::string & getStopWordsFilePath() {
return _stopWordsFilePath;
}
2015-04-30 22:22:54 +02:00
/*! Getter for named entities file path.
For more information see \ref tutorial3.
\returns named entities file path
*/
std::string & getNamedEntitiesFilePath() {
return _namedEntitiesFilePath;
}
2015-04-30 22:22:54 +02:00
/*! Getter for anubis threshold. Anubis search results with
scores below that threshold will be discarded.
\returns anubis threshold
*/
double getAnubisThreshold() {
return _anubisThreshold;
}
2013-10-24 17:08:58 +02:00
private:
libconfig::Config _config;
2013-10-24 17:08:58 +02:00
std::string _wordMapFilePath;
2013-11-28 16:47:57 +01:00
std::string _hashedIndexFilePath;
2013-11-28 16:47:57 +01:00
std::string _markersFilePath;
std::string _htmlTagsFilePath;
bool _stopWordsEnabled;
std::string _stopWordsFilePath;
std::string _namedEntitiesFilePath;
double _anubisThreshold;
std::string _readConfigParameterStr(const std::string & name)
2013-10-24 17:08:58 +02:00
throw(ConcordiaException);
2015-04-30 21:15:18 +02:00
std::string _readConfigParameterStr(const std::string & name,
const std::string & defaultValue)
throw(ConcordiaException);
2013-10-24 17:08:58 +02:00
};
#endif