[SO] Release so 1.13.0 image
[so.git] / mso-catalog-db / src / main / java / org / onap / so / db / catalog / beans / ActivitySpec.java
1 package org.onap.so.db.catalog.beans;
2
3 import java.io.Serializable;
4 import java.util.Date;
5 import java.util.List;
6 import javax.persistence.Column;
7 import javax.persistence.Entity;
8 import javax.persistence.FetchType;
9 import javax.persistence.GeneratedValue;
10 import javax.persistence.GenerationType;
11 import javax.persistence.Id;
12 import javax.persistence.OneToMany;
13 import javax.persistence.PrePersist;
14 import javax.persistence.Table;
15 import javax.persistence.Temporal;
16 import javax.persistence.TemporalType;
17 import org.apache.commons.lang3.builder.EqualsBuilder;
18 import org.apache.commons.lang3.builder.HashCodeBuilder;
19 import org.apache.commons.lang3.builder.ToStringBuilder;
20 import com.openpojo.business.annotation.BusinessKey;
21 import uk.co.blackpepper.bowman.annotation.LinkedResource;
22 import uk.co.blackpepper.bowman.annotation.RemoteResource;
23
24 @Entity
25 @RemoteResource("/activitySpec")
26 @Table(name = "activity_spec")
27 public class ActivitySpec implements Serializable {
28
29     private static final long serialVersionUID = 6902290480087262973L;
30
31     @Id
32     @Column(name = "ID", nullable = false, updatable = false)
33     @GeneratedValue(strategy = GenerationType.IDENTITY)
34     private Integer ID;
35
36     @BusinessKey
37     @Column(name = "NAME")
38     private String name;
39
40     @Column(name = "DESCRIPTION")
41     private String description;
42
43     @BusinessKey
44     @Column(name = "VERSION")
45     private Double version;
46
47     @Column(name = "CREATION_TIMESTAMP", updatable = false)
48     @Temporal(TemporalType.TIMESTAMP)
49     private Date created;
50
51     @OneToMany(fetch = FetchType.LAZY, mappedBy = "activitySpec")
52     private List<WorkflowActivitySpecSequence> workflowActivitySpecSequence;
53
54     @OneToMany(fetch = FetchType.LAZY, mappedBy = "activitySpec")
55     private List<ActivitySpecActivitySpecCategories> activitySpecActivitySpecCategories;
56
57     @OneToMany(fetch = FetchType.LAZY, mappedBy = "activitySpec")
58     private List<ActivitySpecUserParameters> activitySpecUserParameters;
59
60     @OneToMany(fetch = FetchType.LAZY, mappedBy = "activitySpec")
61     private List<ActivitySpecActivitySpecParameters> activitySpecActivitySpecParameters;
62
63     @PrePersist
64     protected void onCreate() {
65         this.created = new Date();
66     }
67
68     public Integer getID() {
69         return ID;
70     }
71
72     public String getName() {
73         return name;
74     }
75
76     public void setName(String name) {
77         this.name = name;
78     }
79
80     public String getDescription() {
81         return description;
82     }
83
84     public void setDescription(String description) {
85         this.description = description;
86     }
87
88
89     public Double getVersion() {
90         return version;
91     }
92
93     public void setVersion(Double version) {
94         this.version = version;
95     }
96
97     public Date getCreated() {
98         return created;
99     }
100
101     public void setCreated(Date created) {
102         this.created = created;
103     }
104
105     @LinkedResource
106     public List<WorkflowActivitySpecSequence> getWorkflowActivitySpecSequence() {
107         return workflowActivitySpecSequence;
108     }
109
110     public void setWorkflowActivitySpecSequence(List<WorkflowActivitySpecSequence> workflowActivitySpecSequence) {
111         this.workflowActivitySpecSequence = workflowActivitySpecSequence;
112     }
113
114     @LinkedResource
115     public List<ActivitySpecUserParameters> getActivitySpecUserParameters() {
116         return activitySpecUserParameters;
117     }
118
119     public void setActivitySpecUserParameters(List<ActivitySpecUserParameters> activitySpecUserParameters) {
120         this.activitySpecUserParameters = activitySpecUserParameters;
121     }
122
123     @LinkedResource
124     public List<ActivitySpecActivitySpecCategories> getActivitySpecActivitySpecCategories() {
125         return activitySpecActivitySpecCategories;
126     }
127
128     public void setActivitySpecActivitySpecCategories(
129             List<ActivitySpecActivitySpecCategories> activitySpecActivitySpecCategories) {
130         this.activitySpecActivitySpecCategories = activitySpecActivitySpecCategories;
131     }
132
133     @LinkedResource
134     public List<ActivitySpecActivitySpecParameters> getActivitySpecActivitySpecParameters() {
135         return activitySpecActivitySpecParameters;
136     }
137
138     public void setActivitySpecActivitySpecParameters(
139             List<ActivitySpecActivitySpecParameters> activitySpecActivitySpecParameters) {
140         this.activitySpecActivitySpecParameters = activitySpecActivitySpecParameters;
141     }
142
143
144
145     @Override
146     public String toString() {
147         return new ToStringBuilder(this).append("name", name).append("description", description)
148                 .append("version", version).append("created", created)
149                 .append("workflowActivitySpecSequence", workflowActivitySpecSequence)
150                 .append("activitySpecActivitySpecCategories", activitySpecActivitySpecCategories).toString();
151     }
152
153     @Override
154     public boolean equals(final Object other) {
155         if (!(other instanceof ActivitySpec)) {
156             return false;
157         }
158         ActivitySpec castOther = (ActivitySpec) other;
159         return new EqualsBuilder().append(name, castOther.name).append(version, castOther.version).isEquals();
160     }
161
162     @Override
163     public int hashCode() {
164         return new HashCodeBuilder().append(name).append(version).toHashCode();
165     }
166 }