home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / java / io / FilePermissionCollection.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.3 KB  |  54 lines

  1. package java.io;
  2.  
  3. import java.security.Permission;
  4. import java.security.PermissionCollection;
  5. import java.util.Enumeration;
  6. import java.util.Vector;
  7.  
  8. final class FilePermissionCollection extends PermissionCollection implements Serializable {
  9.    private Vector permissions = new Vector();
  10.  
  11.    public FilePermissionCollection() {
  12.    }
  13.  
  14.    public void add(Permission var1) {
  15.       if (!(var1 instanceof FilePermission)) {
  16.          throw new IllegalArgumentException("invalid permission: " + var1);
  17.       } else if (((PermissionCollection)this).isReadOnly()) {
  18.          throw new SecurityException("attempt to add a Permission to a readonly PermissionCollection");
  19.       } else {
  20.          this.permissions.addElement(var1);
  21.       }
  22.    }
  23.  
  24.    public boolean implies(Permission var1) {
  25.       if (!(var1 instanceof FilePermission)) {
  26.          return false;
  27.       } else {
  28.          FilePermission var2 = (FilePermission)var1;
  29.          int var3 = var2.getMask();
  30.          int var4 = 0;
  31.          int var5 = var3;
  32.          Enumeration var6 = this.permissions.elements();
  33.  
  34.          while(var6.hasMoreElements()) {
  35.             FilePermission var7 = (FilePermission)var6.nextElement();
  36.             if ((var5 & var7.getMask()) != 0 && var7.impliesIgnoreMask(var2)) {
  37.                var4 |= var7.getMask();
  38.                if ((var4 & var3) == var3) {
  39.                   return true;
  40.                }
  41.  
  42.                var5 = var3 ^ var4;
  43.             }
  44.          }
  45.  
  46.          return false;
  47.       }
  48.    }
  49.  
  50.    public Enumeration elements() {
  51.       return this.permissions.elements();
  52.    }
  53. }
  54.