migrate model-impl from drools-applications
[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     private static final long serialVersionUID = 6285260780966679625L;
29
30     private UUID        personaModelUUID;
31     private UUID        serviceUUID;
32     private UUID        serviceInstanceUUID;
33     private UUID        widgetModelUUID;
34     private String  widgetModelVersion;
35     private String  serviceName;
36     private String  serviceInstanceName;
37     
38     public ServiceInstance() {
39         //Empty Constructor
40     }
41     
42     /**
43      * Constructor.
44      * 
45      * @param instance copy object
46      */
47     public ServiceInstance(ServiceInstance instance) {
48         if (instance == null) {
49             return;
50         }
51         this.personaModelUUID = instance.personaModelUUID;
52         this.serviceUUID = instance.serviceUUID;
53         this.serviceInstanceUUID = instance.serviceInstanceUUID;
54         this.widgetModelUUID = instance.widgetModelUUID;
55         this.widgetModelVersion = instance.widgetModelVersion;
56         this.serviceName = instance.serviceName;
57         this.serviceInstanceName = instance.serviceInstanceName;
58     }
59     
60     public UUID getPersonaModelUUID() {
61         return personaModelUUID;
62     }
63
64     public void setPersonaModelUUID(UUID personaModelUUID) {
65         this.personaModelUUID = personaModelUUID;
66     }
67
68     public UUID getServiceUUID() {
69         return serviceUUID;
70     }
71
72     public void setServiceUUID(UUID serviceUUID) {
73         this.serviceUUID = serviceUUID;
74     }
75
76     public UUID getServiceInstanceUUID() {
77         return serviceInstanceUUID;
78     }
79
80     public void setServiceInstanceUUID(UUID serviceInstanceUUID) {
81         this.serviceInstanceUUID = serviceInstanceUUID;
82     }
83
84     public UUID getWidgetModelUUID() {
85         return widgetModelUUID;
86     }
87
88     public void setWidgetModelUUID(UUID widgetModelUUID) {
89         this.widgetModelUUID = widgetModelUUID;
90     }
91
92     public String getWidgetModelVersion() {
93         return widgetModelVersion;
94     }
95
96     public void setWidgetModelVersion(String widgetModelVersion) {
97         this.widgetModelVersion = widgetModelVersion;
98     }
99
100     public String getServiceName() {
101         return serviceName;
102     }
103
104     public void setServiceName(String serviceName) {
105         this.serviceName = serviceName;
106     }
107
108     public String getServiceInstanceName() {
109         return serviceInstanceName;
110     }
111
112     public void setServiceInstanceName(String serviceInstanceName) {
113         this.serviceInstanceName = serviceInstanceName;
114     }
115
116     @Override
117     public String toString() {
118         return "ServiceInstance [personaModelUUID=" + personaModelUUID + ", serviceUUID=" + serviceUUID
119                 + ", serviceInstanceUUID=" + serviceInstanceUUID + ", widgetModelUUID=" + widgetModelUUID
120                 + ", widgetModelVersion=" + widgetModelVersion + ", serviceName=" + serviceName
121                 + ", serviceInstanceName=" + serviceInstanceName + "]";
122     }
123     
124     @Override
125     public int hashCode() {
126         final int prime = 31;
127         int result = 1;
128         result = prime * result + ((personaModelUUID == null) ? 0 : personaModelUUID.hashCode());
129         result = prime * result + ((serviceInstanceName == null) ? 0 : serviceInstanceName.hashCode());
130         result = prime * result + ((serviceInstanceUUID == null) ? 0 : serviceInstanceUUID.hashCode());
131         result = prime * result + ((serviceName == null) ? 0 : serviceName.hashCode());
132         result = prime * result + ((serviceUUID == null) ? 0 : serviceUUID.hashCode());
133         result = prime * result + ((widgetModelUUID == null) ? 0 : widgetModelUUID.hashCode());
134         result = prime * result + ((widgetModelVersion == null) ? 0 : widgetModelVersion.hashCode());
135         return result;
136     }
137     
138     @Override
139     public boolean equals(Object obj) {
140         if (this == obj) {
141             return true;
142         }
143         if (obj == null) {
144             return false;
145         }
146         if (getClass() != obj.getClass()) {
147             return false;
148         }
149         ServiceInstance other = (ServiceInstance) obj;
150         if (personaModelUUID == null) {
151             if (other.personaModelUUID != null) {
152                 return false;
153             }
154         } else if (!personaModelUUID.equals(other.personaModelUUID)) {
155             return false;
156         }
157         if (serviceInstanceName == null) {
158             if (other.serviceInstanceName != null) {
159                 return false;
160             }
161         } else if (!serviceInstanceName.equals(other.serviceInstanceName)) {
162             return false;
163         }
164         if (serviceInstanceUUID == null) {
165             if (other.serviceInstanceUUID != null) {
166                 return false;
167             }
168         } else if (!serviceInstanceUUID.equals(other.serviceInstanceUUID)) {
169             return false;
170         }
171         if (serviceName == null) {
172             if (other.serviceName != null) {
173                 return false;
174             }
175         } else if (!serviceName.equals(other.serviceName)) {
176             return false;
177         }
178         if (serviceUUID == null) {
179             if (other.serviceUUID != null) {
180                 return false;
181             }
182         } else if (!serviceUUID.equals(other.serviceUUID)) {
183             return false;
184         }
185         if (widgetModelUUID == null) {
186             if (other.widgetModelUUID != null) {
187                 return false;
188             }
189         } else if (!widgetModelUUID.equals(other.widgetModelUUID)) {
190             return false;
191         }
192         if (widgetModelVersion == null) {
193             if (other.widgetModelVersion != null) {
194                 return false;
195             }
196         } else if (!widgetModelVersion.equals(other.widgetModelVersion)) {
197             return false;
198         }
199         return true;
200     }
201     
202 }