21 #ifndef otbWrapperParameter_h
22 #define otbWrapperParameter_h
25 #include "OTBApplicationEngineExport.h"
30 #include <itkObjectFactory.h>
49 class OTBApplicationEngine_EXPORT
Parameter :
public itk::Object
62 virtual void SetName(
const std::string&);
63 virtual const char* GetName()
const;
67 virtual void SetDescription(
const std::string&);
68 virtual const std::string& GetDescription()
const;
72 virtual void SetKey(
const std::string&);
73 virtual const char* GetKey()
const;
77 virtual void SetActive(
bool flag);
78 bool GetActive(
bool recurseParents =
false)
const;
82 virtual void SetMandatory(
bool flag);
83 virtual bool GetMandatory()
const;
84 virtual void MandatoryOn();
85 virtual void MandatoryOff();
89 virtual void SetAutomaticValue(
bool flag);
92 virtual bool GetAutomaticValue()
const;
95 void AutomaticValueOn();
98 void AutomaticValueOff();
101 virtual void SetUserLevel(
const UserLevel level);
107 virtual void SetRole(
const Role role);
110 virtual Role GetRole()
const;
115 virtual void Reset();
117 virtual bool HasValue()
const = 0;
119 virtual bool HasUserValue()
const;
121 virtual void SetUserValue(
bool isUserValue);
123 virtual void ClearValue();
131 virtual bool IsRoot()
const;
142 virtual std::vector<Parameter::Pointer> GetChildrenList();
148 [[noreturn]]
void TypeError(
const std::string& target_type)
const;
153 virtual int ToInt()
const;
154 virtual float ToFloat()
const;
155 virtual double ToDouble()
const;
156 virtual std::string ToString()
const;
157 virtual std::vector<std::string> ToStringList()
const;
160 virtual void FromInt(
int);
161 virtual void FromFloat(
float);
162 virtual void FromDouble(
double);
163 virtual void FromString(
const std::string&);
164 virtual void FromStringList(
const std::vector<std::string>&);
201 void operator=(
const Parameter&) =
delete;