00001 /* QueryTranslator.h */ 00002 00003 00004 #ifndef QUERY_TRANSLATOR_HH 00005 #define QUERY_TRANSLATOR_HH 00006 00007 #include "TableRowTranslator.h" 00008 #include "QueryTranslationException.h" 00009 #include "PredicateTree.h" 00010 00011 00012 namespace LcgInfo{ 00013 /************************** CLASS QueryTranslator *******************************/ 00014 00030 class QueryTranslator{ 00031 00032 public: 00033 00040 QueryTranslator(); 00041 00049 QueryTranslator(std::string const & pMapFile); 00050 00059 QueryTranslator(LcgConfigBuffer::ConfigBuffer & pMap); 00060 00064 virtual ~QueryTranslator(); 00065 00078 virtual std::vector<std::string> translateQuery(std::string const & pQueryCanonical)=0; 00079 00080 00081 protected: 00082 00088 LcgConfigBuffer::ConfigBuffer * mMap; 00089 00095 bool mOurMap; 00096 00103 TableRowTranslator *mTRowT; 00104 00105 }; // end of class QueryTranslator 00106 00107 } 00108 #endif