Merge "Workflow Recipe Lookup"
[so.git] / mso-catalog-db / src / main / java / org / onap / so / db / catalog / beans / UserParameters.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 = "USER_PARAMETERS")
35 public class UserParameters implements Serializable {
36
37         private static final long serialVersionUID = -5036895978102778877L;
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 = "PAYLOAD_LOCATION")
49         private String payloadLocation;
50         
51         @Column(name = "LABEL")
52         private String label;
53         
54         @Column(name = "TYPE")
55         private String type;
56         
57         @Column(name = "DESCRIPTION")
58         private String description;
59         
60         @Column(name = "IS_REQUIRED")
61         private Boolean isRequried;
62         
63         @Column(name = "MAX_LENGTH")
64         private Integer maxLength;
65         
66         @Column(name = "ALLOWABLE_CHARS")
67         private String allowableChars;
68         
69         @Column(name = "CREATION_TIMESTAMP", updatable = false)
70         @Temporal(TemporalType.TIMESTAMP)
71         private Date created;
72         
73         
74         @OneToMany(fetch = FetchType.LAZY, mappedBy = "userParameters")
75         private List<ActivitySpecUserParameters> activitySpecUserParameters;
76         
77         @PrePersist
78         protected void onCreate() {
79                 this.created = new Date();
80         }
81         
82         public Integer getID() {
83                 return ID;
84         }
85
86         public String getName() {
87                 return name;
88         }
89
90         public void setName(String name) {
91                 this.name = name;
92         }
93
94         @LinkedResource
95         public List<ActivitySpecUserParameters> getActivitySpecUserParameters() {
96                 return activitySpecUserParameters;
97         }
98
99         public void setActivitySpecUserParameters(
100                         List<ActivitySpecUserParameters> activitySpecUserParameters) {
101                 this.activitySpecUserParameters = activitySpecUserParameters;
102         }
103         
104         @Override
105         public String toString() {
106                 return new ToStringBuilder(this).append("name", name)
107                                                                                 .append("ActivitySpecUserParameters", activitySpecUserParameters).toString();
108         }
109         public String getPayloadLocation() {
110                 return payloadLocation;
111         }
112
113         public void setPayloadLocation(String payloadLocation) {
114                 this.payloadLocation = payloadLocation;
115         }
116
117         public String getLabel() {
118                 return label;
119         }
120
121         public void setLabel(String label) {
122                 this.label = label;
123         }
124
125         public String getType() {
126                 return type;
127         }
128
129         public void setType(String type) {
130                 this.type = type;
131         }
132
133         public String getDescription() {
134                 return description;
135         }
136
137         public void setDescription(String description) {
138                 this.description = description;
139         }
140
141         public Boolean getIsRequried() {
142                 return isRequried;
143         }
144
145         public void setIsRequried(Boolean isRequried) {
146                 this.isRequried = isRequried;
147         }
148
149         public Integer getMaxLength() {
150                 return maxLength;
151         }
152
153         public void setMaxLength(Integer maxLength) {
154                 this.maxLength = maxLength;
155         }
156
157         public String getAllowableChars() {
158                 return allowableChars;
159         }
160
161         public void setAllowableChars(String allowableChars) {
162                 this.allowableChars = allowableChars;
163         }
164
165         public Date getCreated() {
166                 return created;
167         }
168
169         public void setCreated(Date created) {
170                 this.created = created;
171         }
172
173         @Override
174         public boolean equals(final Object other) {
175                 if (!(other instanceof UserParameters)) {
176                         return false;
177                 }
178                 UserParameters castOther = (UserParameters) other;
179                 return new EqualsBuilder().append(name, castOther.name).isEquals();
180         }
181
182         @Override
183         public int hashCode() {
184                 return new HashCodeBuilder().append(name).toHashCode();
185         }
186 }