1 /******************************************************************
\r
3 * Copyright 2015 Samsung Electronics All Rights Reserved.
\r
7 * Licensed under the Apache License, Version 2.0 (the "License");
\r
8 * you may not use this file except in compliance with the License.
\r
9 * You may obtain a copy of the License at
\r
11 * http://www.apache.org/licenses/LICENSE-2.0
\r
13 * Unless required by applicable law or agreed to in writing, software
\r
14 * distributed under the License is distributed on an "AS IS" BASIS,
\r
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
16 * See the License for the specific language governing permissions and
\r
17 * limitations under the License.
\r
19 ******************************************************************/
\r
22 * @file AbstractParam.h
\r
24 * @brief This file provides data Model for RAML AbstractParam.
\r
27 #ifndef ABSTRACT_PARAM_H
\r
28 #define ABSTRACT_PARAM_H
\r
40 * @class AbstractParam
\r
41 * @brief This class provides data Model for RAML AbstractParam.
\r
47 * This method is for getting DefaultValue from AbstractParam.
\r
49 * @return DefaultValue as string.
\r
51 virtual std::string getDefaultValue() const;
\r
54 * This method is for setting DefaultValue to AbstractParam.
\r
56 * @param defaultValue - DefaultValue as string
\r
58 virtual void setDefaultValue(const std::string &defaultValue);
\r
61 * This method is for getting Description from AbstractParam.
\r
63 * @return Description as string.
\r
65 virtual std::string getDescription() const;
\r
68 * This method is for setting Description to AbstractParam.
\r
70 * @param description - Description as string
\r
72 virtual void setDescription(const std::string &description);
\r
75 * This method is for getting DisplayName from AbstractParam.
\r
77 * @return DisplayName as string.
\r
79 virtual std::string getDisplayName() const;
\r
82 * This method is for setting DisplayName to AbstractParam.
\r
84 * @param displayName - DisplayName as string
\r
86 virtual void setDisplayName(const std::string &displayName);
\r
89 * This method is for getting Enumeration from AbstractParam.
\r
91 * @return list of enumeration as string.
\r
93 virtual std::list<std::string> getEnumeration() const;
\r
96 * This method is for setting Enumeration to AbstractParam.
\r
98 * @param enumeration - Enumeration as string
\r
100 virtual void setEnumeration(const std::string &enumeration);
\r
103 * This method is for getting Example from AbstractParam.
\r
105 * @return Example as string.
\r
107 virtual std::string getExample() const;
\r
110 * This method is for setting Example to AbstractParam.
\r
112 * @param example - Example as string
\r
114 virtual void setExample(const std::string &example);
\r
117 * This method is for getting MaxLength from AbstractParam.
\r
119 * @return MaxLength as int.
\r
121 virtual int getMaxLength() const;
\r
124 * This method is for setting MaxLength to AbstractParam.
\r
126 * @param maxLength - MaxLength as int
\r
128 virtual void setMaxLength(int maxLength);
\r
131 * This method is for getting Maximum from AbstractParam.
\r
133 * @return Maximum as int.
\r
135 virtual int getMaximum() const;
\r
138 * This method is for setting Maximum to AbstractParam.
\r
140 * @param maximum - Maximum as int
\r
142 virtual void setMaximum(int maximum);
\r
145 * This method is for getting MinLength from AbstractParam.
\r
147 * @return MinLength as int.
\r
149 virtual int getMinLength() const;
\r
152 * This method is for setting MinLength to AbstractParam.
\r
154 * @param minLength - MinLength as int
\r
156 virtual void setMinLength(int minLength);
\r
159 * This method is for getting Minimum from AbstractParam.
\r
161 * @return Minimum as int.
\r
163 virtual int getMinimum() const;
\r
166 * This method is for setting Minimum to AbstractParam.
\r
168 * @param minimum - Minimum as int
\r
170 virtual void setMinimum(int minimum);
\r
173 * This method is for getting Pattern from AbstractParam.
\r
175 * @return Pattern as string.
\r
177 virtual std::string getPattern() const;
\r
180 * This method is for setting Pattern to AbstractParam.
\r
182 * @param pattern - Pattern as string
\r
184 virtual void setPattern(const std::string &pattern) ;
\r
187 * This method is for getting Type from AbstractParam.
\r
189 * @return Type as string.
\r
191 virtual std::string getType() const;
\r
194 * This method is for setting Type to AbstractParam.
\r
196 * @param type - Type as string
\r
198 virtual void setType(const std::string &type);
\r
201 * This method is for getting isRepeat from AbstractParam.
\r
203 * @return isRepeat as bool.
\r
205 virtual bool isRepeat() const;
\r
208 * This method is for setting Repeat to AbstractParam.
\r
210 * @param repeat - Repeat as bool
\r
212 virtual void setRepeat(bool repeat);
\r
215 * This method is for getting isRequired from AbstractParam.
\r
217 * @return isRequired as bool.
\r
219 virtual bool isRequired() const;
\r
222 * This method is for setting Required to AbstractParam.
\r
224 * @param required - Required as bool
\r
226 virtual void setRequired(bool required);
\r
229 * Constructor of AbstractParam.
\r
231 AbstractParam() : m_minimum(0), m_maximum(0), m_minLength(0), m_maxLength(0),
\r
232 m_repeat(false), m_required(false) {}
\r
235 * Constructor of AbstractParam.
\r
237 * @param yamlNode - Reference to YamlNode for reading the AbstractParam
\r
240 AbstractParam(const YAML::Node &yamlNode) : m_minimum(0), m_maximum(0),
\r
241 m_minLength(0), m_maxLength(0), m_repeat(false), m_required(false)
\r
243 readParameters(yamlNode);
\r
246 virtual void readParameters(const YAML::Node &yamlNode);
\r
249 std::string m_defaultValue;
\r
250 std::string m_description;
\r
251 std::string m_displayName;
\r
252 std::list<std::string> m_enumeration;
\r
253 std::string m_example;
\r
258 std::string m_pattern;
\r
261 std::string m_type;
\r