KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > exoplatform > services > security > jaas > JAASGroup


1 /*
2  * Copyright 2001-2003 The eXo platform SARL All rights reserved.
3  * Please look at license.txt in info directory for more license detail.
4  */

5
6 package org.exoplatform.services.security.jaas;
7
8 import java.security.acl.Group JavaDoc;
9 import java.security.Principal JavaDoc;
10 import java.util.Enumeration JavaDoc;
11 import java.util.Iterator JavaDoc;
12 import java.util.HashSet JavaDoc;
13
14 /**
15  * Created y the eXo platform team
16  * User: Benjamin Mestrallet
17  * Date: 29 avr. 2004
18  */

19 public class JAASGroup implements Group JavaDoc {
20   public static final String JavaDoc ROLES = "Roles";
21
22   private String JavaDoc name = null;
23   private HashSet JavaDoc members = null;
24
25
26   public JAASGroup(String JavaDoc n) {
27     this.name = n;
28     this.members = new HashSet JavaDoc();
29   }
30
31   public synchronized boolean addMember(Principal JavaDoc principal) {
32     return members.add(principal);
33   }
34
35   public synchronized boolean removeMember(Principal JavaDoc principal) {
36     return members.remove(principal);
37   }
38
39   public boolean isMember(Principal JavaDoc principal) {
40     Enumeration JavaDoc en = members();
41     while (en.hasMoreElements()) {
42       Principal JavaDoc principal1 = (Principal JavaDoc) en.nextElement();
43       if(principal1.getName().equals(principal.getName()))
44         return true;
45     }
46     return false;
47   }
48
49   public Enumeration JavaDoc members() {
50     class MembersEnumeration implements Enumeration JavaDoc {
51       private Iterator JavaDoc itor;
52       public MembersEnumeration(Iterator JavaDoc itor) {
53         this.itor = itor;
54       }
55       public boolean hasMoreElements() {
56         return this.itor.hasNext();
57       }
58       public Object JavaDoc nextElement() {
59         return this.itor.next();
60       }
61     }
62     return new MembersEnumeration(members.iterator());
63   }
64
65   public int hashCode() {
66     return getName().hashCode();
67   }
68
69   public boolean equals(Object JavaDoc object) {
70     if (!(object instanceof Group JavaDoc))
71       return false;
72     return ((Group JavaDoc) object).getName().equals(getName());
73   }
74
75   public String JavaDoc toString() {
76     return getName();
77   }
78
79   public String JavaDoc getName() {
80     return name;
81   }
82
83 }
84
Popular Tags