00001
00002
00003
00004
00005
00006
00007 #ifndef AIDA_ITUPLEFACTORY_H
00008 #define AIDA_ITUPLEFACTORY_H 1
00009
00010
00011
00012
00013
00014
00015 #include <string>
00016 #include <vector>
00017
00018 namespace AIDA {
00019
00020 class IEvaluator;
00021 class IFilter;
00022 class ITuple;
00023
00030 class ITupleFactory {
00031
00032 public:
00034 virtual ~ITupleFactory() { ; }
00035
00045 virtual ITuple * create(const std::string & name, const std::string & title, const std::vector<std::string> & columnNames, const std::vector<std::string> & columnType, const std::string & options = "") = 0;
00046
00055 virtual ITuple * create(const std::string & name, const std::string & title, const std::string & columns, const std::string & options = "") = 0;
00056
00066 virtual ITuple * createChained(const std::string & name, const std::string & title, const std::vector<ITuple *> & set) = 0;
00067
00077 virtual ITuple * createChained(const std::string & name, const std::string & title, const std::vector<std::string> & set) = 0;
00078
00087 virtual ITuple * createFiltered(const std::string & name, ITuple & tuple, IFilter & filter) = 0;
00088
00099 virtual ITuple * createFiltered(const std::string & name, ITuple & tuple, IFilter & filter, const std::vector<std::string> & columns) = 0;
00100
00106 virtual IFilter * createFilter(const std::string & expression) = 0;
00107
00116 virtual IFilter * createFilter(const std::string & expression, int rowsToProcess, int startingRow = 0) = 0;
00117
00123 virtual IEvaluator * createEvaluator(const std::string & expression) = 0;
00124 };
00125 };
00126 #endif