[VID-6] Initial rebase push
[vid.git] / vid-app-common / src / main / java / org / openecomp / vid / mso / rest / RequestDetails.java
1 /*-\r
2  * ============LICENSE_START=======================================================\r
3  * VID\r
4  * ================================================================================\r
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.\r
6  * ================================================================================\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
10  * \r
11  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * \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
18  * ============LICENSE_END=========================================================\r
19  */\r
20 \r
21 package org.openecomp.vid.mso.rest;\r
22 \r
23 import java.util.HashMap;\r
24 import java.util.Map;\r
25 import java.util.List;\r
26 //import javax.annotation.Generated;\r
27 \r
28 import org.openecomp.vid.domain.mso.CloudConfiguration;\r
29 import org.openecomp.vid.domain.mso.ModelInfo;\r
30 import org.openecomp.vid.domain.mso.RequestInfo;\r
31 import org.openecomp.vid.domain.mso.RequestParameters;\r
32 import org.openecomp.vid.domain.mso.SubscriberInfo;\r
33 import com.fasterxml.jackson.annotation.JsonAnyGetter;\r
34 import com.fasterxml.jackson.annotation.JsonAnySetter;\r
35 import com.fasterxml.jackson.annotation.JsonIgnore;\r
36 import com.fasterxml.jackson.annotation.JsonInclude;\r
37 import com.fasterxml.jackson.annotation.JsonProperty;\r
38 import com.fasterxml.jackson.annotation.JsonPropertyOrder;\r
39 import org.apache.commons.lang.builder.EqualsBuilder;\r
40 import org.apache.commons.lang.builder.HashCodeBuilder;\r
41 import org.apache.commons.lang.builder.ToStringBuilder;\r
42 \r
43 \r
44 /**\r
45  * aggregates the context, configuraiton and detailed parameters associated with the request into a single structure.\r
46  */\r
47 @JsonInclude(JsonInclude.Include.NON_NULL)\r
48 @JsonPropertyOrder({\r
49     "cloudConfiguration",\r
50     "modelInfo",\r
51     "relatedModelList",\r
52     "requestInfo",\r
53     "subscriberInfo",\r
54     "requestParameters"\r
55 })\r
56 public class RequestDetails extends org.openecomp.vid.domain.mso.RequestDetails {\r
57 \r
58     /** The cloud configuration. */\r
59     @JsonProperty("cloudConfiguration")\r
60     private CloudConfiguration cloudConfiguration;\r
61     \r
62     /** The model info. */\r
63     @JsonProperty("modelInfo")\r
64     private ModelInfo modelInfo;\r
65     \r
66     /** The related model list. */\r
67     @JsonProperty("relatedModelList")\r
68     private List<RelatedModel> relatedModelList;\r
69     \r
70     /** The request info. */\r
71     @JsonProperty("requestInfo")\r
72     private RequestInfo requestInfo;\r
73     \r
74     /** The subscriber info. */\r
75     @JsonProperty("subscriberInfo")\r
76     private SubscriberInfo subscriberInfo;\r
77     \r
78     /** The request parameters. */\r
79     @JsonProperty("requestParameters")\r
80     private RequestParameters requestParameters;\r
81     \r
82     /** The additional properties. */\r
83     @JsonIgnore\r
84     private Map<String, Object> additionalProperties = new HashMap<String, Object>();\r
85 \r
86     /**\r
87      * Gets the cloud configuration.\r
88      *\r
89      * @return     The cloudConfiguration\r
90      */\r
91     @JsonProperty("cloudConfiguration")\r
92     public CloudConfiguration getCloudConfiguration() {\r
93         return cloudConfiguration;\r
94     }\r
95 \r
96     /**\r
97      * Sets the cloud configuration.\r
98      *\r
99      * @param cloudConfiguration     The cloudConfiguration\r
100      */\r
101     @JsonProperty("cloudConfiguration")\r
102     public void setCloudConfiguration(CloudConfiguration cloudConfiguration) {\r
103         this.cloudConfiguration = cloudConfiguration;\r
104     }\r
105 \r
106     /**\r
107      * Gets the model info.\r
108      *\r
109      * @return     The modelInfo\r
110      */\r
111     @JsonProperty("modelInfo")\r
112     public ModelInfo getModelInfo() {\r
113         return modelInfo;\r
114     }\r
115 \r
116     /**\r
117      * Sets the model info.\r
118      *\r
119      * @param modelInfo     The modelInfo\r
120      */\r
121     @JsonProperty("modelInfo")\r
122     public void setModelInfo(ModelInfo modelInfo) {\r
123         this.modelInfo = modelInfo;\r
124     }\r
125 \r
126     /**\r
127      * Gets the related model list.\r
128      *\r
129      * @return     The relatedModelList\r
130      */\r
131     @JsonProperty("relatedModelList")\r
132     public List<RelatedModel> getRelatedModelList() {\r
133         return relatedModelList;\r
134     }\r
135 \r
136     /**\r
137      * Sets the related model list.\r
138      *\r
139      * @param relatedModelList     The relatedModelList\r
140      */\r
141     @JsonProperty("relatedModelList")\r
142     public void setRelatedModelList( List<RelatedModel> relatedModelList) {\r
143         this.relatedModelList = relatedModelList;\r
144     }\r
145 \r
146     /**\r
147      * Gets the request info.\r
148      *\r
149      * @return     The requestInfo\r
150      */\r
151     @JsonProperty("requestInfo")\r
152     public RequestInfo getRequestInfo() {\r
153         return requestInfo;\r
154     }\r
155 \r
156     /**\r
157      * Sets the request info.\r
158      *\r
159      * @param requestInfo     The requestInfo\r
160      */\r
161     @JsonProperty("requestInfo")\r
162     public void setRequestInfo(RequestInfo requestInfo) {\r
163         this.requestInfo = requestInfo;\r
164     }\r
165     \r
166     /**\r
167      * Gets the subscriber info.\r
168      *\r
169      * @return     The subscriberInfo\r
170      */\r
171     @JsonProperty("subscriberInfo")\r
172     public SubscriberInfo getSubscriberInfo() {\r
173         return subscriberInfo;\r
174     }\r
175 \r
176     /**\r
177      * Sets the subscriber info.\r
178      *\r
179      * @param subscriberInfo     The subscriberInfo\r
180      */\r
181     @JsonProperty("subscriberInfo")\r
182     public void setSubscriberInfo(SubscriberInfo subscriberInfo) {\r
183         this.subscriberInfo = subscriberInfo;\r
184     }\r
185 \r
186     /* (non-Javadoc)\r
187      * @see org.openecomp.vid.domain.mso.RequestDetails#toString()\r
188      */\r
189     @Override\r
190     public String toString() {\r
191         return ToStringBuilder.reflectionToString(this);\r
192     }\r
193 \r
194     /* (non-Javadoc)\r
195      * @see org.openecomp.vid.domain.mso.RequestDetails#getAdditionalProperties()\r
196      */\r
197     @JsonAnyGetter\r
198     public Map<String, Object> getAdditionalProperties() {\r
199         return this.additionalProperties;\r
200     }\r
201 \r
202     /* (non-Javadoc)\r
203      * @see org.openecomp.vid.domain.mso.RequestDetails#setAdditionalProperty(java.lang.String, java.lang.Object)\r
204      */\r
205     @JsonAnySetter\r
206     public void setAdditionalProperty(String name, Object value) {\r
207         this.additionalProperties.put(name, value);\r
208     }\r
209 \r
210     /* (non-Javadoc)\r
211      * @see org.openecomp.vid.domain.mso.RequestDetails#hashCode()\r
212      */\r
213     @Override\r
214     public int hashCode() {\r
215         return new HashCodeBuilder().append(cloudConfiguration).append(modelInfo).append(relatedModelList).append(requestInfo).append(getRequestParameters()).append(subscriberInfo).append(additionalProperties).toHashCode();\r
216     }\r
217 \r
218     /* (non-Javadoc)\r
219      * @see org.openecomp.vid.domain.mso.RequestDetails#equals(java.lang.Object)\r
220      */\r
221     @Override\r
222     public boolean equals(Object other) {\r
223         if (other == this) {\r
224             return true;\r
225         }\r
226         if ((other instanceof RequestDetails) == false) {\r
227             return false;\r
228         }\r
229         RequestDetails rhs = ((RequestDetails) other);\r
230         return new EqualsBuilder().append(cloudConfiguration, rhs.cloudConfiguration).append(modelInfo, rhs.modelInfo).append(relatedModelList, rhs.relatedModelList).append(requestInfo, rhs.requestInfo).append(getRequestParameters(), rhs.getRequestParameters()).append(subscriberInfo, rhs.subscriberInfo).append(additionalProperties, rhs.additionalProperties).isEquals();\r
231     }\r
232 \r
233 }\r