KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > nightlabs > ipanema > security > RoleSet


1 /*
2  * Created on 01.03.2004
3  *
4  */

5 package com.nightlabs.ipanema.security;
6
7 import java.io.Serializable JavaDoc;
8 import java.security.Principal JavaDoc;
9 import java.security.acl.Group JavaDoc;
10 import java.util.ArrayList JavaDoc;
11 import java.util.Enumeration JavaDoc;
12 import java.util.Iterator JavaDoc;
13 import java.util.List JavaDoc;
14
15 import org.apache.log4j.Logger;
16
17 /**
18  * @author nick
19  */

20 public class RoleSet implements Group JavaDoc, Serializable JavaDoc
21 {
22     private List JavaDoc members = new ArrayList JavaDoc();
23     private String JavaDoc name = "Roles";
24
25     public RoleSet() { }
26
27     public boolean addMember(Principal user)
28     {
29         return members.add(user);
30     }
31
32     public boolean isMember(Principal member)
33     {
34         Logger.getLogger(RoleSet.class).warn("isMember() called! You should use HashSet instead of ArrayList!!!");
35         return members.contains(member);
36     }
37
38     public boolean removeMember(Principal user)
39     {
40         return members.remove(user);
41     }
42
43     public static class Enum implements Enumeration JavaDoc
44     {
45         private Iterator JavaDoc it;
46         
47         public Enum(Iterator JavaDoc _it)
48         {
49             this.it = _it;
50         }
51         
52         /**
53          * @see java.util.Enumeration#hasMoreElements()
54          */

55         public boolean hasMoreElements() {
56             return it.hasNext();
57         }
58
59         /**
60          * @see java.util.Enumeration#nextElement()
61          */

62         public Object JavaDoc nextElement() {
63             return it.next();
64         }
65     }
66
67     public Enumeration JavaDoc members()
68     {
69         return new Enum JavaDoc(members.iterator());
70     }
71
72     public String JavaDoc getName()
73     {
74         return this.name;
75     }
76
77 }
78
Popular Tags