1 package org.apache.turbine.util.security; 2 3 18 19 import java.util.Collection ; 20 import java.util.Iterator ; 21 22 import org.apache.commons.lang.StringUtils; 23 24 import org.apache.turbine.om.security.Permission; 25 26 39 public class PermissionSet 40 extends SecuritySet 41 { 42 45 public PermissionSet() 46 { 47 super(); 48 } 49 50 58 public PermissionSet(Collection permissions) 59 { 60 super(); 61 add(permissions); 62 } 63 64 71 public boolean add(Permission permission) 72 { 73 boolean res = contains(permission); 74 nameMap.put(permission.getName(), permission); 75 idMap.put(permission.getIdAsObj(), permission); 76 return res; 77 } 78 79 87 public boolean add(Collection permissions) 88 { 89 boolean res = false; 90 for (Iterator it = permissions.iterator(); it.hasNext();) 91 { 92 Permission p = (Permission) it.next(); 93 res |= add(p); 94 } 95 return res; 96 } 97 98 107 public boolean add(PermissionSet permissionSet) 108 { 109 boolean res = false; 110 for( Iterator it = permissionSet.iterator(); it.hasNext();) 111 { 112 Permission p = (Permission) it.next(); 113 res |= add(p); 114 } 115 return res; 116 } 117 118 125 public boolean remove(Permission permission) 126 { 127 boolean res = contains(permission); 128 nameMap.remove(permission.getName()); 129 idMap.remove(permission.getIdAsObj()); 130 return res; 131 } 132 133 140 public boolean contains(Permission permission) 141 { 142 return nameMap.containsValue((Object ) permission); 143 } 144 145 154 public Permission getPermission(String permissionName) 155 { 156 return getPermissionByName(permissionName); 157 } 158 159 167 public Permission getPermissionByName(String permissionName) 168 { 169 return (StringUtils.isNotEmpty(permissionName)) 170 ? (Permission) nameMap.get(permissionName) : null; 171 } 172 173 181 public Permission getPermissionById(int permissionId) 182 { 183 return (permissionId != 0) 184 ? (Permission) idMap.get(new Integer (permissionId)) : null; 185 } 186 187 192 public Permission[] getPermissionsArray() 193 { 194 return (Permission[]) getSet().toArray(new Permission[0]); 195 } 196 197 203 public String toString() 204 { 205 StringBuffer sb = new StringBuffer (); 206 sb.append("PermissionSet: "); 207 208 for(Iterator it = iterator(); it.hasNext();) 209 { 210 Permission p = (Permission) it.next(); 211 sb.append('['); 212 sb.append(p.getName()); 213 sb.append(" -> "); 214 sb.append(p.getIdAsObj()); 215 sb.append(']'); 216 if (it.hasNext()) 217 { 218 sb.append(", "); 219 } 220 } 221 222 return sb.toString(); 223 } 224 } 225 | Popular Tags |