8 * Created by Pat Schloss on 10/23/08.
9 * Copyright 2008 Patrick D. Schloss. All rights reserved.
13 /*This class is a parent to all the command classes. */
17 #include "optionparser.h"
18 #include "validparameter.h"
19 #include "mothurout.h"
20 #include "commandparameter.h"
26 Command() { m = MothurOut::getInstance(); }
29 virtual string getCommandName() = 0;
30 virtual string getCommandCategory() = 0;
31 virtual string getHelpString() = 0;
32 virtual string getCitation() = 0;
33 virtual string getDescription() = 0;
35 virtual map<string, vector<string> > getOutputFiles() { return outputTypes; }
36 virtual vector<string> setParameters() = 0; //to fill parameters
37 virtual vector<CommandParameter> getParameters() { return parameters; }
39 virtual int execute() = 0;
40 virtual void help() = 0;
41 void citation() { m->mothurOutEndLine(); m->mothurOut(getCitation()); m->mothurOutEndLine(); }
42 virtual ~Command() { }
48 map<string, vector<string> > outputTypes;
49 vector<CommandParameter> parameters;
51 map<string, vector<string> >::iterator itTypes;