00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef INDRI_PARSERFACTORY_HPP
00019 #define INDRI_PARSERFACTORY_HPP
00020
00021 #include <string>
00022 #include <map>
00023 #include <vector>
00024 #include "indri/IndriParser.hpp"
00025 #include "indri/ConflationPattern.hpp"
00026 namespace indri
00027 {
00028 namespace parse
00029 {
00030
00031 class ParserFactory {
00032 public:
00033 ~ParserFactory();
00034
00035 static std::string preferredName( const std::string& name );
00036 static indri::parse::Parser* get( const std::string& name );
00037 static indri::parse::Parser* get( const std::string& name,
00038 const std::vector<std::string>& includeTags,
00039 const std::vector<std::string>& excludeTags,
00040 const std::vector<std::string>& indexTags,
00041 const std::vector<std::string>& metadataTags,
00042 const std::map<ConflationPattern*, std::string>& conflations );
00043 };
00044 }
00045 }
00046
00047 #endif // INDRI_PARSERFACTORY_HPP
00048