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 / net / SocketPermissionCollection.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.3 KB  |  55 lines

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