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 RequestResponseBody.h
\r
24 * @brief This file provides data Model for RAML RequestResponseBody.
\r
27 #ifndef REQUEST_RESPONSE_BODY_H
\r
28 #define REQUEST_RESPONSE_BODY_H
\r
32 #include "FormParameter.h"
\r
34 #include "IncludeResolver.h"
\r
40 * @class RequestResponseBody
\r
41 * @brief This class provides data Model for RAML RequestResponseBody.
\r
43 class RequestResponseBody
\r
47 * This method is for getting Type from RequestResponseBody.
\r
49 * @return type as string.
\r
51 virtual std::string getType() const;
\r
54 * This method is for setting Type to RequestResponseBody.
\r
56 * @param type - type of RequestResponseBody
\r
58 virtual void setType(const std::string &type);
\r
61 * This method is for getting Schema from RequestResponseBody.
\r
63 * @return pointer to Schema.
\r
65 virtual SchemaPtr const &getSchema() const;
\r
68 * This method is for setting Schema to RequestResponseBody.
\r
70 * @param schema - pointer to Schema
\r
72 virtual void setSchema(const SchemaPtr &schema);
\r
75 * This method is for getting Example from RequestResponseBody.
\r
77 * @return Example as string.
\r
79 virtual std::string getExample() const;
\r
82 * This method is for setting Example to RequestResponseBody.
\r
84 * @param example - Example as string
\r
86 virtual void setExample(const std::string &example);
\r
89 * This method is for getting FormParameter from RequestResponseBody.
\r
91 * @return map of pointer to param Name and pointer to FormParameter.
\r
93 virtual std::map<std::string, FormParameterPtr> const &getFormParameters() const;
\r
96 * This method is for setting FormParameter to RequestResponseBody.
\r
98 * @param paramName - Name of FormParameter
\r
99 * @param formParameter - pointer to FormParameter
\r
101 virtual void setFormParameter(const std::string ¶mName,
\r
102 const FormParameterPtr &formParameter);
\r
105 * Constructor of RequestResponseBody.
\r
107 RequestResponseBody(): m_schema(NULL), m_includeResolver(NULL) {}
\r
110 * Constructor of RequestResponseBody.
\r
112 * @param type - type of request response body
\r
115 RequestResponseBody(const std::string type) : m_type(type), m_schema(NULL),
\r
116 m_includeResolver(NULL) {}
\r
119 * Constructor of RequestResponseBody.
\r
121 * @param type - type of request response body
\r
122 * @param yamlNode - Reference to YamlNode for reading the RequestResponseBody
\r
123 * @param includeResolver - Reference to IncludeResolver for reading external files
\r
126 RequestResponseBody(const std::string type, const YAML::Node &yamlNode,
\r
127 const IncludeResolverPtr &includeResolver): m_schema(NULL),
\r
128 m_includeResolver(includeResolver)
\r
129 { readRequestResponseBody(type, yamlNode); }
\r
132 virtual void readRequestResponseBody(const std::string &type,
\r
133 const YAML::Node &yamlNode) ;
\r
135 std::string m_type;
\r
136 SchemaPtr m_schema;
\r
137 std::string m_example;
\r
138 std::map<std::string, FormParameterPtr> m_formParameters;
\r
139 IncludeResolverPtr m_includeResolver;
\r
142 /** RequestResponseBodyPtr - shared Ptr to RequestResponseBody.*/
\r
143 typedef std::shared_ptr<RequestResponseBody> RequestResponseBodyPtr;
\r