6eac319fd67f074dbe008a8faf38bcd9f40ce753
[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-2020 AT&T Intellectual Property. All rights reserved.
6  * Modifications Copyright (C) 2019-2020 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 import lombok.Data;
27
28 @Data
29 public class ServiceInstance implements Serializable {
30
31     private static final long serialVersionUID = 6285260780966679625L;
32
33     /*
34      * Note the field names ending in "UUID" may not be changed without breaking the
35      * interface, due to limitations in the YAML encoder/decoder.
36      */
37     private UUID personaModelUUID;
38     private UUID serviceUUID;
39     private UUID serviceInstanceUUID;
40     private UUID widgetModelUUID;
41
42     private String widgetModelVersion;
43     private String serviceName;
44     private String serviceInstanceName;
45
46     public ServiceInstance() {
47         // Empty Constructor
48     }
49
50     /**
51      * Constructor.
52      *
53      * @param instance copy object
54      */
55     public ServiceInstance(ServiceInstance instance) {
56         if (instance == null) {
57             return;
58         }
59         this.personaModelUUID = instance.personaModelUUID;
60         this.serviceUUID = instance.serviceUUID;
61         this.serviceInstanceUUID = instance.serviceInstanceUUID;
62         this.widgetModelUUID = instance.widgetModelUUID;
63         this.widgetModelVersion = instance.widgetModelVersion;
64         this.serviceName = instance.serviceName;
65         this.serviceInstanceName = instance.serviceInstanceName;
66     }
67 }