1 #ifndef __COMMAND_REQUIRED_H
2 #define __COMMAND_REQUIRED_H
8 * Required Parameter decorator. Makes passed Parameters treated as required
10 class Required : public Parameter {
13 * Parameter which will be treated as required
15 Parameter * parameter;
19 * Default constructor.
21 * @param parameter Parameter which will be treated as required
23 Required(Parameter * parameter)
24 : Parameter(parameter->describe()), parameter(parameter) {
28 * Default destructor. Releases allocated memory
35 * Method used for handling method calls to linked Parameter
37 virtual void handle() {
42 * Method used for checking if the given user value is understandable by
45 * @param value value from argv to check against
47 virtual bool understand(const std::string & value) {
48 return parameter->understand(value);
52 * Indicates if current Parameter is required
54 virtual bool isRequired() {
59 * Indicates if current Parameter is already used
61 virtual bool isUsed() {
62 return parameter->isUsed();
67 #endif /* __COMMAND_PARAMETER_H */