Merge "Restructure for authorative models"
[policy/models.git] / models-interactions / model-impl / sdc / src / main / java / org / onap / policy / sdc / ServiceInstance.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * sdc
4  * ================================================================================
5  * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2019 Nordix Foundation.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.policy.sdc;
23
24 import java.io.Serializable;
25 import java.util.UUID;
26
27 public class ServiceInstance implements Serializable {
28
29     private static final long serialVersionUID = 6285260780966679625L;
30
31     private UUID personaModelUUID;
32     private UUID serviceUUID;
33     private UUID serviceInstanceUUID;
34     private UUID widgetModelUUID;
35     private String widgetModelVersion;
36     private String serviceName;
37     private String serviceInstanceName;
38
39     public ServiceInstance() {
40         //Empty Constructor
41     }
42
43     /**
44      * Constructor.
45      *
46      * @param instance copy object
47      */
48     public ServiceInstance(ServiceInstance instance) {
49         if (instance == null) {
50             return;
51         }
52         this.personaModelUUID = instance.personaModelUUID;
53         this.serviceUUID = instance.serviceUUID;
54         this.serviceInstanceUUID = instance.serviceInstanceUUID;
55         this.widgetModelUUID = instance.widgetModelUUID;
56         this.widgetModelVersion = instance.widgetModelVersion;
57         this.serviceName = instance.serviceName;
58         this.serviceInstanceName = instance.serviceInstanceName;
59     }
60
61     public UUID getPersonaModelUUID() {
62         return personaModelUUID;
63     }
64
65     public void setPersonaModelUUID(UUID personaModelUUID) {
66         this.personaModelUUID = personaModelUUID;
67     }
68
69     public UUID getServiceUUID() {
70         return serviceUUID;
71     }
72
73     public void setServiceUUID(UUID serviceUUID) {
74         this.serviceUUID = serviceUUID;
75     }
76
77     public UUID getServiceInstanceUUID() {
78         return serviceInstanceUUID;
79     }
80
81     public void setServiceInstanceUUID(UUID serviceInstanceUUID) {
82         this.serviceInstanceUUID = serviceInstanceUUID;
83     }
84
85     public UUID getWidgetModelUUID() {
86         return widgetModelUUID;
87     }
88
89     public void setWidgetModelUUID(UUID widgetModelUUID) {
90         this.widgetModelUUID = widgetModelUUID;
91     }
92
93     public String getWidgetModelVersion() {
94         return widgetModelVersion;
95     }
96
97     public void setWidgetModelVersion(String widgetModelVersion) {
98         this.widgetModelVersion = widgetModelVersion;
99     }
100
101     public String getServiceName() {
102         return serviceName;
103     }
104
105     public void setServiceName(String serviceName) {
106         this.serviceName = serviceName;
107     }
108
109     public String getServiceInstanceName() {
110         return serviceInstanceName;
111     }
112
113     public void setServiceInstanceName(String serviceInstanceName) {
114         this.serviceInstanceName = serviceInstanceName;
115     }
116
117     @Override
118     public String toString() {
119         return "ServiceInstance [personaModelUUID=" + personaModelUUID + ", serviceUUID=" + serviceUUID
120             + ", serviceInstanceUUID=" + serviceInstanceUUID + ", widgetModelUUID=" + widgetModelUUID
121             + ", widgetModelVersion=" + widgetModelVersion + ", serviceName=" + serviceName
122             + ", serviceInstanceName=" + serviceInstanceName + "]";
123     }
124
125     @Override
126     public int hashCode() {
127         final int prime = 31;
128         int result = 1;
129         result = prime * result + ((personaModelUUID == null) ? 0 : personaModelUUID.hashCode());
130         result = prime * result + ((serviceInstanceName == null) ? 0 : serviceInstanceName.hashCode());
131         result = prime * result + ((serviceInstanceUUID == null) ? 0 : serviceInstanceUUID.hashCode());
132         result = prime * result + ((serviceName == null) ? 0 : serviceName.hashCode());
133         result = prime * result + ((serviceUUID == null) ? 0 : serviceUUID.hashCode());
134         result = prime * result + ((widgetModelUUID == null) ? 0 : widgetModelUUID.hashCode());
135         result = prime * result + ((widgetModelVersion == null) ? 0 : widgetModelVersion.hashCode());
136         return result;
137     }
138
139     @Override
140     public boolean equals(Object obj) {
141         if (this == obj) {
142             return true;
143         }
144         if (obj == null) {
145             return false;
146         }
147         if (getClass() != obj.getClass()) {
148             return false;
149         }
150         ServiceInstance other = (ServiceInstance) obj;
151         if (personaModelUUID == null) {
152             if (other.personaModelUUID != null) {
153                 return false;
154             }
155         } else if (!personaModelUUID.equals(other.personaModelUUID)) {
156             return false;
157         }
158         if (serviceInstanceName == null) {
159             if (other.serviceInstanceName != null) {
160                 return false;
161             }
162         } else if (!serviceInstanceName.equals(other.serviceInstanceName)) {
163             return false;
164         }
165         if (serviceInstanceUUID == null) {
166             if (other.serviceInstanceUUID != null) {
167                 return false;
168             }
169         } else if (!serviceInstanceUUID.equals(other.serviceInstanceUUID)) {
170             return false;
171         }
172         if (serviceName == null) {
173             if (other.serviceName != null) {
174                 return false;
175             }
176         } else if (!serviceName.equals(other.serviceName)) {
177             return false;
178         }
179         if (serviceUUID == null) {
180             if (other.serviceUUID != null) {
181                 return false;
182             }
183         } else if (!serviceUUID.equals(other.serviceUUID)) {
184             return false;
185         }
186         if (widgetModelUUID == null) {
187             if (other.widgetModelUUID != null) {
188                 return false;
189             }
190         } else if (!widgetModelUUID.equals(other.widgetModelUUID)) {
191             return false;
192         }
193         if (widgetModelVersion == null) {
194             if (other.widgetModelVersion != null) {
195                 return false;
196             }
197         } else if (!widgetModelVersion.equals(other.widgetModelVersion)) {
198             return false;
199         }
200         return true;
201     }
202
203 }