home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / sun / security / acl / AclEntryImpl.class (.txt) next >
Encoding:
Java Class File  |  1998-04-23  |  2.3 KB  |  99 lines

  1. package sun.security.acl;
  2.  
  3. import java.security.Principal;
  4. import java.security.acl.AclEntry;
  5. import java.security.acl.Group;
  6. import java.security.acl.Permission;
  7. import java.util.Enumeration;
  8. import java.util.Vector;
  9.  
  10. public class AclEntryImpl implements AclEntry {
  11.    private Principal user;
  12.    private Vector permissionSet = new Vector(10, 10);
  13.    private boolean negative = false;
  14.  
  15.    public AclEntryImpl(Principal var1) {
  16.       this.user = var1;
  17.    }
  18.  
  19.    public AclEntryImpl() {
  20.    }
  21.  
  22.    public boolean setPrincipal(Principal var1) {
  23.       if (this.user != null) {
  24.          return false;
  25.       } else {
  26.          this.user = var1;
  27.          return true;
  28.       }
  29.    }
  30.  
  31.    public void setNegativePermissions() {
  32.       this.negative = true;
  33.    }
  34.  
  35.    public boolean isNegative() {
  36.       return this.negative;
  37.    }
  38.  
  39.    public boolean addPermission(Permission var1) {
  40.       if (this.permissionSet.contains(var1)) {
  41.          return false;
  42.       } else {
  43.          this.permissionSet.addElement(var1);
  44.          return true;
  45.       }
  46.    }
  47.  
  48.    public boolean removePermission(Permission var1) {
  49.       return this.permissionSet.removeElement(var1);
  50.    }
  51.  
  52.    public boolean checkPermission(Permission var1) {
  53.       return this.permissionSet.contains(var1);
  54.    }
  55.  
  56.    public Enumeration permissions() {
  57.       return this.permissionSet.elements();
  58.    }
  59.  
  60.    public String toString() {
  61.       StringBuffer var1 = new StringBuffer();
  62.       if (this.negative) {
  63.          var1.append("-");
  64.       } else {
  65.          var1.append("+");
  66.       }
  67.  
  68.       if (this.user instanceof Group) {
  69.          var1.append("Group.");
  70.       } else {
  71.          var1.append("User.");
  72.       }
  73.  
  74.       var1.append(this.user + "=");
  75.       Enumeration var2 = this.permissions();
  76.  
  77.       while(var2.hasMoreElements()) {
  78.          Permission var3 = (Permission)var2.nextElement();
  79.          var1.append(var3);
  80.          if (var2.hasMoreElements()) {
  81.             var1.append(",");
  82.          }
  83.       }
  84.  
  85.       return new String(var1);
  86.    }
  87.  
  88.    public synchronized Object clone() {
  89.       AclEntryImpl var1 = new AclEntryImpl(this.user);
  90.       var1.permissionSet = (Vector)this.permissionSet.clone();
  91.       var1.negative = this.negative;
  92.       return var1;
  93.    }
  94.  
  95.    public Principal getPrincipal() {
  96.       return this.user;
  97.    }
  98. }
  99.