home *** CD-ROM | disk | FTP | other *** search
- package java.io;
-
- import java.security.Permission;
- import java.security.PermissionCollection;
- import java.util.Enumeration;
- import java.util.Vector;
-
- final class FilePermissionCollection extends PermissionCollection implements Serializable {
- private Vector permissions = new Vector();
-
- public FilePermissionCollection() {
- }
-
- public void add(Permission var1) {
- if (!(var1 instanceof FilePermission)) {
- throw new IllegalArgumentException("invalid permission: " + var1);
- } else if (((PermissionCollection)this).isReadOnly()) {
- throw new SecurityException("attempt to add a Permission to a readonly PermissionCollection");
- } else {
- this.permissions.addElement(var1);
- }
- }
-
- public boolean implies(Permission var1) {
- if (!(var1 instanceof FilePermission)) {
- return false;
- } else {
- FilePermission var2 = (FilePermission)var1;
- int var3 = var2.getMask();
- int var4 = 0;
- int var5 = var3;
- Enumeration var6 = this.permissions.elements();
-
- while(var6.hasMoreElements()) {
- FilePermission var7 = (FilePermission)var6.nextElement();
- if ((var5 & var7.getMask()) != 0 && var7.impliesIgnoreMask(var2)) {
- var4 |= var7.getMask();
- if ((var4 & var3) == var3) {
- return true;
- }
-
- var5 = var3 ^ var4;
- }
- }
-
- return false;
- }
- }
-
- public Enumeration elements() {
- return this.permissions.elements();
- }
- }
-