JGroup.java

00001 
00027 package org.objectweb.jonas.security.auth;
00028 
00029 import java.io.Serializable;
00030 import java.security.Principal;
00031 import java.security.acl.Group;
00032 import java.util.Enumeration;
00033 import java.util.Vector;
00034 
00040 public class JGroup implements Group, Serializable {
00041 
00042 
00046     private String name = null;
00047 
00051     private Vector members = null;
00052 
00053 
00058     public JGroup(String name) {
00059         this.name = name;
00060         this.members = new Vector();
00061 
00062     }
00063 
00069     public boolean equals(Object another) {
00070         if (!(another instanceof Group)) {
00071             return false;
00072         }
00073         // else
00074         return name.equals(((Group) another).getName());
00075     }
00076 
00081     public String toString() {
00082         return "Principal[" + name + "]";
00083     }
00084 
00085 
00090     public int hashCode() {
00091         return name.hashCode();
00092     }
00093 
00098     public String getName() {
00099         return name;
00100     }
00101 
00107     public boolean addMember(Principal user) {
00108         if (isMember(user)) {
00109             return false;
00110         }
00111         // else
00112         members.add(user);
00113         return true;
00114     }
00115 
00121     public boolean removeMember(Principal user) {
00122         if (!isMember(user)) {
00123             return false;
00124         }
00125         // else
00126         members.remove(user);
00127         return true;
00128     }
00129 
00130 
00136     public boolean isMember(Principal member) {
00137         return members.contains(member);
00138     }
00139 
00140 
00145     public Enumeration members() {
00146         return members.elements();
00147     }
00148 
00149 }

Generated on Tue Feb 15 15:05:21 2005 for JOnAS by  doxygen 1.3.9.1