Workflow Recipe Lookup
[so.git] / mso-catalog-db / src / main / java / org / onap / so / db / catalog / beans / ActivitySpecParameters.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.IdClass;
15 import javax.persistence.JoinColumn;
16 import javax.persistence.Lob;
17 import javax.persistence.ManyToOne;
18 import javax.persistence.OneToMany;
19 import javax.persistence.PrePersist;
20 import javax.persistence.Table;
21 import javax.persistence.Temporal;
22 import javax.persistence.TemporalType;
23
24 import org.apache.commons.lang3.builder.EqualsBuilder;
25 import org.apache.commons.lang3.builder.HashCodeBuilder;
26 import org.apache.commons.lang3.builder.ToStringBuilder;
27
28 import com.openpojo.business.annotation.BusinessKey;
29
30 import org.hibernate.annotations.NotFound;
31 import org.hibernate.annotations.NotFoundAction;
32 import uk.co.blackpepper.bowman.annotation.LinkedResource;
33
34 @Entity
35 @Table(name = "ACTIVITY_SPEC_PARAMETERS")
36 public class ActivitySpecParameters implements Serializable {
37         
38         private static final long serialVersionUID = 3627711377147710046L;
39
40         @Id
41         @Column(name = "ID", nullable = false, updatable = false)
42         @GeneratedValue(strategy = GenerationType.IDENTITY)
43         private Integer ID;
44         
45         @BusinessKey
46         @Column(name = "NAME")
47         private String name;
48         
49         @Column(name = "TYPE")
50         private String type;
51         
52         @BusinessKey
53         @Column(name = "DIRECTION")
54         private String direction;
55         
56         @Column(name = "DESCRIPTION")
57         private String description;
58         
59         @Column(name = "CREATION_TIMESTAMP", updatable = false)
60         @Temporal(TemporalType.TIMESTAMP)
61         private Date created;
62         
63         @OneToMany(fetch = FetchType.LAZY, mappedBy = "activitySpecParameters")
64         private List<ActivitySpecActivitySpecParameters> activitySpecActivitySpecParameters;
65         
66         @PrePersist
67         protected void onCreate() {
68                 this.created = new Date();
69         }
70
71         @LinkedResource
72         public List<ActivitySpecActivitySpecParameters> getActivitySpecActivitySpecParameters() {
73                 return activitySpecActivitySpecParameters;
74         }
75
76         public void setActivitySpecActivitySpecParameters(
77                         List<ActivitySpecActivitySpecParameters> activitySpecActivitySpecParameters) {
78                 this.activitySpecActivitySpecParameters = activitySpecActivitySpecParameters;
79         }
80         
81         @Override
82         public String toString() {
83                 return new ToStringBuilder(this).append("name", name).append("direction", direction)
84                                                                                 .append("activitySpecActivitySpecParameters", activitySpecActivitySpecParameters).toString();
85         }
86         @Override
87         public boolean equals(final Object other) {
88                 if (!(other instanceof ActivitySpecParameters)) {
89                         return false;
90                 }
91                 ActivitySpecParameters castOther = (ActivitySpecParameters) other;
92                 return new EqualsBuilder().append(ID, castOther.ID).isEquals();
93         }
94
95         @Override
96         public int hashCode() {
97                 return new HashCodeBuilder().append(ID).toHashCode();
98         }
99
100         public Integer getID() {
101                 return ID;
102         }
103
104         public String getName() {
105                 return name;
106         }
107
108         public void setName(String name) {
109                 this.name = name;
110         }
111
112         public String getType() {
113                 return type;
114         }
115
116         public void setType(String type) {
117                 this.type = type;
118         }
119
120         public String getDirection() {
121                 return direction;
122         }
123
124         public void setDirection(String direction) {
125                 this.direction = direction;
126         }
127
128         public String getDescription() {
129                 return description;
130         }
131
132         public void setDescription(String description) {
133                 this.description = description;
134         }
135
136         public Date getCreated() {
137                 return created;
138         }
139
140         public void setCreated(Date created) {
141                 this.created = created;
142         }
143 }