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