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 / OwnerImpl.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  1.2 KB  |  44 lines

  1. package sun.security.acl;
  2.  
  3. import java.security.Principal;
  4. import java.security.acl.Group;
  5. import java.security.acl.LastOwnerException;
  6. import java.security.acl.NotOwnerException;
  7. import java.security.acl.Owner;
  8. import java.util.Enumeration;
  9.  
  10. public class OwnerImpl implements Owner {
  11.    private Group ownerGroup = new GroupImpl("AclOwners");
  12.  
  13.    public OwnerImpl(Principal var1) {
  14.       this.ownerGroup.addMember(var1);
  15.    }
  16.  
  17.    public synchronized boolean addOwner(Principal var1, Principal var2) throws NotOwnerException {
  18.       if (!this.isOwner(var1)) {
  19.          throw new NotOwnerException();
  20.       } else {
  21.          this.ownerGroup.addMember(var2);
  22.          return false;
  23.       }
  24.    }
  25.  
  26.    public synchronized boolean deleteOwner(Principal var1, Principal var2) throws NotOwnerException, LastOwnerException {
  27.       if (!this.isOwner(var1)) {
  28.          throw new NotOwnerException();
  29.       } else {
  30.          Enumeration var3 = this.ownerGroup.members();
  31.          var3.nextElement();
  32.          if (var3.hasMoreElements()) {
  33.             return this.ownerGroup.removeMember(var2);
  34.          } else {
  35.             throw new LastOwnerException();
  36.          }
  37.       }
  38.    }
  39.  
  40.    public synchronized boolean isOwner(Principal var1) {
  41.       return this.ownerGroup.isMember(var1);
  42.    }
  43. }
  44.