View Javadoc

1   /**
2    *
3    * Copyright 2003-2004 The Apache Software Foundation
4    *
5    *  Licensed under the Apache License, Version 2.0 (the "License");
6    *  you may not use this file except in compliance with the License.
7    *  You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   *  Unless required by applicable law or agreed to in writing, software
12   *  distributed under the License is distributed on an "AS IS" BASIS,
13   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   *  See the License for the specific language governing permissions and
15   *  limitations under the License.
16   */
17  package org.apache.geronimo.security.realm.providers;
18  
19  import java.io.Serializable;
20  import java.security.Principal;
21  
22  /**
23   * A principal that represents a group for the login modules distributed
24   * with Geronimo.  Custom login modules may use this if convenient or provide
25   * their own Principal implementations -- it doesn't matter.
26   * 
27   * @version $Rev: 355877 $ $Date: 2005-12-10 18:48:27 -0800 (Sat, 10 Dec 2005) $
28   */
29  public class GeronimoGroupPrincipal implements Principal, Serializable {
30      private final String name;
31  
32      public GeronimoGroupPrincipal(String name) {
33          this.name = name;
34      }
35  
36      /**
37       * Compares this principal to the specified object.  Returns true
38       * if the object passed in is a GeronimoGroupPrincipal with the
39       * same name.
40       */
41      public boolean equals(Object another) {
42          if (!(another instanceof GeronimoGroupPrincipal)) return false;
43  
44          return ((GeronimoGroupPrincipal) another).name.equals(name);
45      }
46  
47      /**
48       * Returns a string representation of this principal.
49       */
50      public String toString() {
51          return name;
52      }
53  
54      /**
55       * Returns a hashcode for this principal.
56       */
57      public int hashCode() {
58          return name.hashCode();
59      }
60  
61      /**
62       * Returns the name of this principal.
63       */
64      public String getName() {
65          return name;
66      }
67  }