5e300d6837f93f86bc7f71bf5ade5fed63265e9d
[proteocache.git] / User.java
1 package compbio.proteocache.users;\r
2 \r
3 import java.io.Serializable;\r
4 import java.util.Date;\r
5 \r
6 import org.springframework.format.annotation.DateTimeFormat;\r
7 \r
8 import static org.apache.commons.lang.builder.EqualsBuilder.*;\r
9 import static org.apache.commons.lang.builder.HashCodeBuilder.*;\r
10 import static org.apache.commons.lang.builder.ToStringBuilder.*;\r
11 \r
12 public class User implements Serializable {\r
13 \r
14         /**\r
15          * \r
16          */\r
17         private static final long serialVersionUID = 1L;\r
18 \r
19         private Long id = -1L;\r
20         private String email;\r
21         private String password;\r
22         private String fullName;\r
23         private boolean updateByEmail;\r
24         private String position;\r
25         private String organisation;\r
26 \r
27         @DateTimeFormat(pattern = "hh:mma MMM d, YYYY")\r
28         private Date registrationDate;\r
29 \r
30         public Long getId() {\r
31                 return id;\r
32         }\r
33 \r
34         public void setId(Long id) {\r
35                 this.id = id;\r
36         }\r
37 \r
38         public void setEmail(String email) {\r
39                 this.email = email;\r
40         }\r
41 \r
42         public String getEmail() {\r
43                 return email;\r
44         }\r
45 \r
46         public String getPassword() {\r
47                 return this.password;\r
48         }\r
49 \r
50         public void setPassword(String password) {\r
51                 this.password = password;\r
52         }\r
53 \r
54         public void setFullName(String fullName) {\r
55                 this.fullName = fullName;\r
56         }\r
57 \r
58         public String getFullName() {\r
59                 return fullName;\r
60         }\r
61 \r
62         public String getPosition() {\r
63                 return position;\r
64         }\r
65 \r
66         public void setPosition(String position) {\r
67                 this.position = position;\r
68         }\r
69 \r
70         public void setOrganisation(String organisation) {\r
71                 this.organisation = organisation;\r
72         }\r
73 \r
74         private String checkNoUTFsymbols(String s) {\r
75                 if (null != s) {\r
76                         if (3 < s.length())\r
77                                 if (s.substring(0, 2).matches("^&#")) {\r
78                                         return "Unknown organization";\r
79                                 }\r
80                 }\r
81                 return s;\r
82         }\r
83 \r
84         public String getOrganisation() {\r
85                 return checkNoUTFsymbols(organisation);\r
86         }\r
87 \r
88         public void setUpdateByEmail(boolean updateByEmail) {\r
89                 this.updateByEmail = updateByEmail;\r
90         }\r
91 \r
92         public boolean isUpdateByEmail() {\r
93                 return updateByEmail;\r
94         }\r
95 \r
96         public Date getRegistrationDate() {\r
97                 return this.registrationDate;\r
98         }\r
99 \r
100         public void setRegistrationDate(Date registrationDate) {\r
101                 this.registrationDate = registrationDate;\r
102         }\r
103 \r
104         // plumbing\r
105         @Override\r
106         public boolean equals(Object obj) {\r
107                 return reflectionEquals(this, obj);\r
108         }\r
109 \r
110         @Override\r
111         public int hashCode() {\r
112                 return reflectionHashCode(this);\r
113         }\r
114 \r
115         @Override\r
116         public String toString() {\r
117                 return reflectionToString(this);\r
118         }\r
119 \r
120 }\r