Increasing code coverage ns-lcm-database-service
[so.git] / so-etsi-nfvo / so-etsi-nfvo-ns-lcm / so-etsi-nfvo-ns-lcm-database-service / src / main / java / org / onap / so / etsi / nfvo / ns / lcm / database / beans / NfvoNfInst.java
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2020 Nordix Foundation.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20 package org.onap.so.etsi.nfvo.ns.lcm.database.beans;
21
22 import static org.onap.so.etsi.nfvo.ns.lcm.database.beans.utils.Utils.toIndentedString;
23 import java.time.LocalDateTime;
24 import java.util.Objects;
25 import java.util.UUID;
26 import javax.persistence.Column;
27 import javax.persistence.Entity;
28 import javax.persistence.EnumType;
29 import javax.persistence.Enumerated;
30 import javax.persistence.FetchType;
31 import javax.persistence.Id;
32 import javax.persistence.JoinColumn;
33 import javax.persistence.ManyToOne;
34 import javax.persistence.Table;
35
36 /**
37  * @author mukeshsharma (mukeshsharma@est.tech)
38  */
39 @Entity
40 @Table(name = "NF_INST")
41 public class NfvoNfInst {
42
43     @Id
44     @Column(name = "NF_INST_ID")
45     private String nfInstId;
46
47     @Column(name = "NAME")
48     private String name;
49
50     @Column(name = "VNFD_ID")
51     private String vnfdId;
52
53     @Column(name = "PACKAGE_ID")
54     private String packageId;
55
56     @ManyToOne(fetch = FetchType.LAZY)
57     @JoinColumn(name = "NS_INST_ID")
58     private NfvoNsInst nsInst;
59
60     @Enumerated(EnumType.STRING)
61     @Column(name = "STATUS")
62     private State status;
63
64     @Column(name = "CREATE_TIME")
65     private LocalDateTime createTime;
66
67     @Column(name = "LAST_UPDATE_TIME")
68     private LocalDateTime lastUpdateTime;
69
70     public NfvoNfInst() {
71         this.nfInstId = UUID.randomUUID().toString();
72     }
73
74     public String getNfInstId() {
75         return nfInstId;
76     }
77
78     public void setNfInstId(final String nfInstId) {
79         this.nfInstId = nfInstId;
80     }
81
82     public NfvoNfInst nfInstId(final String nfInstId) {
83         this.nfInstId = nfInstId;
84         return this;
85     }
86
87     public String getName() {
88         return name;
89     }
90
91     public void setName(final String name) {
92         this.name = name;
93     }
94
95     public NfvoNfInst name(final String name) {
96         this.name = name;
97         return this;
98     }
99
100     public String getVnfdId() {
101         return vnfdId;
102     }
103
104     public void setVnfdId(final String vnfdId) {
105         this.vnfdId = vnfdId;
106     }
107
108     public NfvoNfInst vnfdId(final String vnfdId) {
109         this.vnfdId = vnfdId;
110         return this;
111     }
112
113     public String getPackageId() {
114         return packageId;
115     }
116
117     public void setPackageId(final String packageId) {
118         this.packageId = packageId;
119     }
120
121     public NfvoNfInst packageId(final String packageId) {
122         this.packageId = packageId;
123         return this;
124     }
125
126     public NfvoNsInst getNsInst() {
127         return nsInst;
128     }
129
130     public void setNsInst(final NfvoNsInst nsInst) {
131         this.nsInst = nsInst;
132     }
133
134     public NfvoNfInst nfvoNsInst(final NfvoNsInst nfvoNsInst) {
135         this.nsInst = nfvoNsInst;
136         return this;
137     }
138
139     public State getStatus() {
140         return status;
141     }
142
143     public void setStatus(final State status) {
144         this.status = status;
145     }
146
147     public NfvoNfInst status(final State status) {
148         this.status = status;
149         return this;
150     }
151
152     public LocalDateTime getCreateTime() {
153         return createTime;
154     }
155
156     public void setCreateTime(final LocalDateTime createTime) {
157         this.createTime = createTime;
158     }
159
160     public NfvoNfInst createTime(final LocalDateTime createTime) {
161         this.createTime = createTime;
162         return this;
163     }
164
165     public LocalDateTime getLastUpdateTime() {
166         return lastUpdateTime;
167     }
168
169     public void setLastUpdateTime(final LocalDateTime lastUpdateTime) {
170         this.lastUpdateTime = lastUpdateTime;
171     }
172
173     public NfvoNfInst lastUpdateTime(final LocalDateTime lastUpdateTime) {
174         this.lastUpdateTime = lastUpdateTime;
175         return this;
176     }
177
178     @Override
179     public boolean equals(final Object object) {
180         if (this == object)
181             return true;
182         if (object == null || getClass() != object.getClass())
183             return false;
184         final NfvoNfInst that = (NfvoNfInst) object;
185         return Objects.equals(nfInstId, that.nfInstId) && Objects.equals(name, that.name)
186                 && Objects.equals(vnfdId, that.vnfdId) && Objects.equals(packageId, that.packageId)
187                 && (nsInst == null ? that.nsInst == null : that.nsInst != null && Objects.equals(nsInst, that.nsInst))
188                 && Objects.equals(status, that.status) && Objects.equals(createTime, that.createTime)
189                 && Objects.equals(lastUpdateTime, that.lastUpdateTime);
190     }
191
192     @Override
193     public int hashCode() {
194         return Objects.hash(nfInstId, name, vnfdId, packageId, nsInst != null ? nsInst.getNsInstId() : 0, status,
195                 createTime, lastUpdateTime);
196     }
197
198     @Override
199     public String toString() {
200         final StringBuilder sb = new StringBuilder();
201         sb.append("class NfvoNfInst {\n");
202         sb.append("    nfInstId: ").append(toIndentedString(nfInstId)).append("\n");
203         sb.append("    name: ").append(toIndentedString(name)).append("\n");
204         sb.append("    vnfdId: ").append(toIndentedString(vnfdId)).append("\n");
205         sb.append("    packageId: ").append(toIndentedString(packageId)).append("\n");
206         sb.append("    nsInst: ").append(nsInst != null ? toIndentedString(nsInst.getNsInstId()) : null).append("\n");
207         sb.append("    status: ").append(toIndentedString(status)).append("\n");
208         sb.append("    createTime: ").append(toIndentedString(createTime)).append("\n");
209         sb.append("    lastUpdateTime: ").append(toIndentedString(lastUpdateTime)).append("\n");
210
211         sb.append("}");
212         return sb.toString();
213     }
214
215 }