*
*/
-/*This class is a parent to all the command classes. It has one pure int execute(). */
+/*This class is a parent to all the command classes. */
-using namespace std;
-
-#include <iostream>
-#include <fstream>
+#include "mothur.h"
+#include "optionparser.h"
+#include "validparameter.h"
+#include "mothurout.h"
class Command {
+
public:
+ Command() { m = MothurOut::getInstance(); }
+ virtual vector<string> getValidParameters() = 0;
+ virtual vector<string> getRequiredParameters() = 0; //adding "or" as the last element indicates one of the previous is needed
+ virtual vector<string> getRequiredFiles() = 0; //adding "or" as the last element indicates one of the previous is needed
+ virtual map<string, vector<string> > getOutputFiles() = 0; //file type to names
virtual int execute() = 0;
+ virtual void help() = 0;
+ virtual ~Command() { }
+ protected:
+ MothurOut* m;
};
#endif