1 /*
2 * JBoss, the OpenSource J2EE webOS
3 *
4 * Distributable under LGPL license.
5 * See terms of license at gnu.org.
6 */
7
8 package org.jboss.security;
9
10 import java.security.Principal;
11
12 /** A simple String based implementation of Principal. Typically
13 a SimplePrincipal is created given a userID which is used
14 as the Principal name.
15
16 @author <a href="on@ibis.odessa.ua">Oleg Nitz</a>
17 @author Scott.Stark@jboss.org
18 */
19 public class SimplePrincipal implements Principal, java.io.Serializable
20 {
21 private String name;
22
23 public SimplePrincipal(String name)
24 {
25 this.name = name;
26 }
27
28 /** Compare this SimplePrincipal's name against another Principal
29 @return true if name equals another.getName();
30 */
31 public boolean equals(Object another)
32 {
33 if( !(another instanceof Principal) )
34 return false;
35 String anotherName = ((Principal)another).getName();
36 boolean equals = false;
37 if( name == null )
38 equals = anotherName == null;
39 else
40 equals = name.equals(anotherName);
41 return equals;
42 }
43
44 public int hashCode()
45 {
46 return (name == null ? 0 : name.hashCode());
47 }
48
49 public String toString()
50 {
51 return name;
52 }
53
54 public String getName()
55 {
56 return name;
57 }
58 }