home *** CD-ROM | disk | FTP | other *** search
- package java.net;
-
- import java.io.Serializable;
- import java.security.Permission;
- import java.security.PermissionCollection;
- import java.util.Enumeration;
- import java.util.Vector;
-
- final class SocketPermissionCollection extends PermissionCollection implements Serializable {
- private Vector permissions = new Vector();
-
- public SocketPermissionCollection() {
- }
-
- public void add(Permission var1) {
- if (!(var1 instanceof SocketPermission)) {
- 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.add(0, var1);
- }
- }
-
- public boolean implies(Permission var1) {
- if (!(var1 instanceof SocketPermission)) {
- return false;
- } else {
- SocketPermission var2 = (SocketPermission)var1;
- int var3 = var2.getMask();
- int var4 = 0;
- int var5 = var3;
- Enumeration var6 = this.permissions.elements();
-
- while(var6.hasMoreElements()) {
- SocketPermission var7 = (SocketPermission)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();
- }
- }
-