1 #ifndef BALL_FORMAT_COMMANDLINEPARSER_H 2 #define BALL_FORMAT_COMMANDLINEPARSER_H 44 void setToolManual(
const String& manual);
49 void registerMandatoryIntegerParameter(
const String& name,
const String& description);
51 void registerMandatoryIntegerListParameter(
const String& name,
const String& description);
53 void registerMandatoryDoubleParameter(
const String& name,
const String& description);
55 void registerMandatoryDoubleListParameter(
const String& name,
const String& description);
57 void registerMandatoryStringParameter(
const String& name,
const String& description);
59 void registerMandatoryStringListParameter(
const String& name,
const String& description);
61 void registerMandatoryInputFile(
const String& name,
const String& description);
63 void registerMandatoryOutputFile(
const String& name,
const String& description);
65 void registerMandatoryInputFileList(
const String& name,
const String& description);
67 void registerMandatoryOutputFileList(
const String& name,
const String& description);
69 void registerMandatoryGalaxyOutputFolder(
const String& name,
const String& description);
71 void registerMandatoryGalaxyOutputId(
const String& name,
const String& description);
73 void registerOptionalIntegerParameter(
const String& name,
const String& description,
int default_value = 0);
75 void registerOptionalIntegerListParameter(
const String& name,
const String& description,
const std::vector<int>& default_values = vector<int>());
77 void registerOptionalDoubleParameter(
const String& name,
const String& description,
double default_value = 0.0);
79 void registerOptionalDoubleListParameter(
const String& name,
const String& description,
const std::vector<double>& default_values = vector<double>());
81 void registerOptionalStringParameter(
const String& name,
const String& description,
const String& default_value =
"");
83 void registerOptionalStringListParameter(
const String& name,
const String& description,
const std::vector<String>& default_values = vector<String>());
85 void registerOptionalInputFile(
const String& name,
const String& description,
const String& default_value =
"");
87 void registerOptionalOutputFile(
const String& name,
const String& description,
const String& default_value =
"");
89 void registerOptionalInputFileList(
const String& name,
const String& description,
const std::vector<String>& default_values = vector<String>());
91 void registerOptionalOutputFileList(
const String& name,
const String& description,
const std::vector<String>& default_values = vector<String>());
93 void registerOptionalGalaxyOutputFolder(
const String& name,
const String& description,
const String& default_value =
"");
95 void registerOptionalGalaxyOutputId(
const String& name,
const String& description,
const String& default_value =
"");
97 void registerFlag(
String name,
String description,
bool default_gui_value =
false,
bool hidden =
false);
99 void registerAdvancedParameters(
Options& options);
102 void setParameterAsAdvanced(
String name);
104 void setParameterAsHidden(
String name);
107 void setParameterRestrictions(
String category,
String par_name,
double min_value,
double max_value);
108 void setParameterRestrictions(
String par_name,
double min_value,
double max_value);
111 void setParameterRestrictions(
String category,
String par_name,
int min_value,
int max_value);
112 void setParameterRestrictions(
String par_name,
int min_value,
int max_value);
115 void setParameterRestrictions(
String category,
String par_name, list<String>& allowed_values);
116 void setParameterRestrictions(
String par_name, list<String>& allowed_values);
122 void setSupportedFormats(
String par_name,
String supported_formats);
127 void parse(
int argc,
char* argv[]);
131 void copyAdvancedParametersToOptions(
Options& options);
148 const list<String>& getList(
String name);
154 void printHelp(
const std::set<String>& parameter_names = std::set<String>(),
bool show_manual =
true);
156 void printToolInfo();
158 const String& getStartTime();
162 const String& getStartCommand();
168 void replaceEscapedCharacters_(
String& parameter_value);
172 void checkAndRegisterFlag(
String name,
String description,
bool default_gui_value =
false,
bool perform_check =
true,
bool hidden=
false);
174 void validateRegisteredFilesHaveFormats();
177 void checkParameterName(
const String& name,
const bool perform_check =
true);
180 std::set<String> reserved_params_;
183 std::list<std::pair<String, String> > escaped_chars_;
184 std::map<String, list<String> > parameter_map_;
185 std::map<String, ParamFile::ParameterDescription> registered_parameters_;
187 std::map<String, ParamFile::ParameterDescription> registered_flags_;
188 typedef std::map<String, ParamFile::ParameterDescription>::iterator MapIterator;
189 std::list<MapIterator> original_parameter_order_;
190 std::list<MapIterator> original_flag_order_;
191 Size max_parname_length_;
192 Size max_flagname_length_;
205 #endif // BALL_FORMAT_COMMANDLINEPARSER_H static const String NOT_FOUND
static const list< String > EMTPY_LIST