restoring head
[mir.git] / source / org / codecoop / mir / core / model / User.java
1 /*
2  * $Id: User.java,v 1.1 2004/11/06 16:20:48 idfx Exp $
3  *
4  * Copyright (C) 2001, 2002, 2003, 2004 The Mir-coders group
5  *
6  * This file is part of Mir.
7  *
8  * Mir is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * Mir is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with Mir; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
21  *
22  * In addition, as a special exception, The Mir-coders gives permission to link
23  * the code of this program with  any library licensed under the Apache Software License,
24  * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
25  * (or with modified versions of the above that use the same license as the above),
26  * and distribute linked combinations including the two.  You must obey the
27  * GNU General Public License in all respects for all of the code used other than
28  * the above mentioned libraries.  If you modify this file, you may extend this
29  * exception to your version of the file, but you are not obligated to do so.
30  * If you do not wish to do so, delete this exception statement from your version.
31  */
32 package org.codecoop.mir.core.model;
33
34 import java.io.Serializable;
35 import java.util.Date;
36
37 import org.apache.commons.lang.builder.ToStringBuilder;
38
39 /**
40  * User
41  * 
42  * @author idefix
43  */
44 public class User implements Serializable {
45
46   /** identifier field */
47   private Integer id;
48
49   /** persistent field */
50   private String login;
51
52   /** persistent field */
53   private String password;
54
55   /** nullable persistent field */
56   private String internalComment;
57
58   /** persistent field */
59   private boolean disabled;
60
61   /** persistent field */
62   private String email;
63
64   /** nullable persistent field */
65   private String profile;
66
67   /** persistent field */
68   private Date creationDate;
69
70   /** nullable persistent field */
71   private Date lastlogin;
72
73   /** nullable persistent field */
74   private Role role;
75
76   private int hashCode;
77
78   /** default constructor */
79   public User() {
80   }
81
82   public Integer getId() {
83     return this.id;
84   }
85
86   public void setId(Integer id) {
87     this.id = id;
88   }
89
90   public String getLogin() {
91     return this.login;
92   }
93
94   public void setLogin(String login) {
95     this.login = login;
96   }
97
98   public String getPassword() {
99     return this.password;
100   }
101
102   public void setPassword(String password) {
103     this.password = password;
104   }
105
106   public String getInternalComment() {
107     return this.internalComment;
108   }
109
110   public void setInternalComment(String internalComment) {
111     this.internalComment = internalComment;
112   }
113
114   public boolean isDisabled() {
115     return this.disabled;
116   }
117
118   public void setDisabled(boolean disabled) {
119     this.disabled = disabled;
120   }
121
122   public String getEmail() {
123     return this.email;
124   }
125
126   public void setEmail(String email) {
127     this.email = email;
128   }
129
130   public String getProfile() {
131     return this.profile;
132   }
133
134   public void setProfile(String profile) {
135     this.profile = profile;
136   }
137
138   public Date getCreationDate() {
139     return this.creationDate;
140   }
141
142   public void setCreationDate(Date creationDate) {
143     this.creationDate = creationDate;
144   }
145
146   public Date getLastlogin() {
147     return this.lastlogin;
148   }
149
150   public void setLastlogin(Date lastlogin) {
151     this.lastlogin = lastlogin;
152   }
153
154   public Role getRole() {
155     return this.role;
156   }
157
158   public void setRole(Role role) {
159     this.role = role;
160   }
161
162   public boolean equals(Object obj) {
163     if (null == obj) {
164       return false;
165     }
166     if (!(obj instanceof User)) {
167       return false;
168     } else {
169       User mObj = (User) obj;
170       if (null == this.getId() || null == mObj.getId()) {
171         return false;
172       } else {
173         return (this.getId().equals(mObj.getId()));
174       }
175     }
176   }
177
178   public int hashCode() {
179     if (Integer.MIN_VALUE == this.hashCode) {
180       if (null == this.getId()) {
181         return super.hashCode();
182       } else {
183         String hashStr = this.getClass().getName() + ":"
184             + this.getId().hashCode();
185         this.hashCode = hashStr.hashCode();
186       }
187     }
188     return this.hashCode;
189   }
190
191   public String toString() {
192     return new ToStringBuilder(this).append("id", getId()).toString();
193   }
194
195 }