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
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
00112 members.add(user);
00113 return true;
00114 }
00115
00121 public boolean removeMember(Principal user) {
00122 if (!isMember(user)) {
00123 return false;
00124 }
00125
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 }