2 * $Id: User.java,v 1.1 2004/11/06 16:20:48 idfx Exp $
4 * Copyright (C) 2001, 2002, 2003, 2004 The Mir-coders group
6 * This file is part of Mir.
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.
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.
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
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.
32 package org.codecoop.mir.core.model;
34 import java.io.Serializable;
35 import java.util.Date;
37 import org.apache.commons.lang.builder.ToStringBuilder;
44 public class User implements Serializable {
46 /** identifier field */
49 /** persistent field */
52 /** persistent field */
53 private String password;
55 /** nullable persistent field */
56 private String internalComment;
58 /** persistent field */
59 private boolean disabled;
61 /** persistent field */
64 /** nullable persistent field */
65 private String profile;
67 /** persistent field */
68 private Date creationDate;
70 /** nullable persistent field */
71 private Date lastlogin;
73 /** nullable persistent field */
78 /** default constructor */
82 public Integer getId() {
86 public void setId(Integer id) {
90 public String getLogin() {
94 public void setLogin(String login) {
98 public String getPassword() {
102 public void setPassword(String password) {
103 this.password = password;
106 public String getInternalComment() {
107 return this.internalComment;
110 public void setInternalComment(String internalComment) {
111 this.internalComment = internalComment;
114 public boolean isDisabled() {
115 return this.disabled;
118 public void setDisabled(boolean disabled) {
119 this.disabled = disabled;
122 public String getEmail() {
126 public void setEmail(String email) {
130 public String getProfile() {
134 public void setProfile(String profile) {
135 this.profile = profile;
138 public Date getCreationDate() {
139 return this.creationDate;
142 public void setCreationDate(Date creationDate) {
143 this.creationDate = creationDate;
146 public Date getLastlogin() {
147 return this.lastlogin;
150 public void setLastlogin(Date lastlogin) {
151 this.lastlogin = lastlogin;
154 public Role getRole() {
158 public void setRole(Role role) {
162 public boolean equals(Object obj) {
166 if (!(obj instanceof User)) {
169 User mObj = (User) obj;
170 if (null == this.getId() || null == mObj.getId()) {
173 return (this.getId().equals(mObj.getId()));
178 public int hashCode() {
179 if (Integer.MIN_VALUE == this.hashCode) {
180 if (null == this.getId()) {
181 return super.hashCode();
183 String hashStr = this.getClass().getName() + ":"
184 + this.getId().hashCode();
185 this.hashCode = hashStr.hashCode();
188 return this.hashCode;
191 public String toString() {
192 return new ToStringBuilder(this).append("id", getId()).toString();