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