56f95516b14762cda5ca6a61532a84b023913a91
[so.git] / bpmn / MSOCommonBPMN / src / main / java / org / onap / so / bpmn / servicedecomposition / bbobjects / ServiceSubscription.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 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.so.bpmn.servicedecomposition.bbobjects;
22
23 import java.io.Serializable;
24 import java.util.ArrayList;
25 import java.util.List;
26
27 import com.fasterxml.jackson.annotation.JsonProperty;
28 import com.fasterxml.jackson.annotation.JsonRootName;
29 import org.apache.commons.lang3.builder.EqualsBuilder;
30 import org.apache.commons.lang3.builder.HashCodeBuilder;
31 import org.onap.so.bpmn.servicedecomposition.ShallowCopy;
32
33 import javax.persistence.Id;
34
35 @JsonRootName("service-subscription")
36 public class ServiceSubscription implements Serializable, ShallowCopy<ServiceSubscription>{
37
38         private static final long serialVersionUID = 9064449329296611436L;
39
40         @Id
41         @JsonProperty("service-type")
42         private String serviceType;
43         @JsonProperty("temp-ub-sub-account-id")
44         private String tempUbSubAccountId;
45         @JsonProperty("service-instances")
46         private List<ServiceInstance> serviceInstances = new ArrayList<ServiceInstance>();
47
48         public String getServiceType() {
49                 return serviceType;
50         }
51         public void setServiceType(String serviceType) {
52                 this.serviceType = serviceType;
53         }
54         public String getTempUbSubAccountId() {
55                 return tempUbSubAccountId;
56         }
57         public void setTempUbSubAccountId(String tempUbSubAccountId) {
58                 this.tempUbSubAccountId = tempUbSubAccountId;
59         }
60         public List<ServiceInstance> getServiceInstances() {
61                 return serviceInstances;
62         }
63
64         @Override
65         public boolean equals(final Object other) {
66                 if (!(other instanceof ServiceSubscription)) {
67                         return false;
68                 }
69                 ServiceSubscription castOther = (ServiceSubscription) other;
70                 return new EqualsBuilder().append(serviceType, castOther.serviceType).isEquals();
71         }
72         @Override
73         public int hashCode() {
74                 return new HashCodeBuilder().append(serviceType).toHashCode();
75         }
76 }