01: /*
02: * (C) Copyright 2000 - 2003 Nabh Information Systems, Inc.
03: *
04: * All copyright notices regarding Nabh's products MUST remain
05: * intact in the scripts and in the outputted HTML.
06: * This program is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU Lesser General Public License
08: * as published by the Free Software Foundation; either version 2.1
09: * of the License, or (at your option) any later version.
10: *
11: * This program is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: * GNU Lesser General Public License for more details.
15: *
16: * You should have received a copy of the GNU Lesser General Public License
17: * along with this program; if not, write to the Free Software
18: * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
19: *
20: */
21:
22: package com.nabhinc.spi;
23:
24: import java.io.Serializable;
25: import java.security.Principal;
26:
27: /**
28: * User Principal.
29: *
30: * @author Padmanabh Dabke
31: * (c) 2003 Nabh Information Systems, Inc. All Rights Reserved.
32: */
33: public class UserPrincipal implements Principal, Serializable {
34:
35: /**
36: *
37: */
38: private static final long serialVersionUID = 15617750382051385L;
39: private String upName;
40:
41: private UserPrincipal() {
42: }
43:
44: /**
45: * Constructor
46: */
47: public UserPrincipal(String name) {
48: upName = name;
49: }
50:
51: /**
52: * Returns the name of this principal.
53: * @return the name of this principal.
54: */
55: public String getName() {
56: return upName;
57: }
58:
59: /**
60: * Compares this principal to the specified object.
61: *
62: * @param obj object to compare with.
63: * @return true if the object passed in is a SimplePrincipal with the same name.
64: */
65: public boolean equals(Object obj) {
66: if (obj == null)
67: return false;
68:
69: if (obj instanceof UserPrincipal) {
70: return upName.equals(((UserPrincipal) obj).getName());
71: }
72: return false;
73: }
74:
75: /**
76: * Returns a string representation of this principal.
77: * @return a string representation of this principal.
78: */
79: public String toString() {
80: return "UserPrincipal[name = \'" + upName + "\']";
81: }
82:
83: /**
84: * Returns a hashcode for this principal.
85: * @return a hashcode for this principal.
86: */
87: public int hashCode() {
88: return upName.hashCode();
89: }
90: }
|