Package dan.security.acl

Source Code of dan.security.acl.EditablePermissions

/*
* File: EditablePermissions.java
* Author: Daniel Rogers
* Created on Feb 20, 2008
*
*/
package dan.security.acl;

import java.security.PermissionCollection;
import java.security.Permission;
import java.util.Vector;
import java.util.Enumeration;
import java.util.List;

/**
* A simple PermissionCollection backed by a Vector (so it
* is thread safe).  Methods are provided to both add and
* remove permissions from this collection (unlike the standard
* Permissions object)
*
* @author dan.rogers
*/
public class EditablePermissions extends PermissionCollection {

    Vector permissions;
   
    // ----------------------------------------------- Constructors
   
    public EditablePermissions() {
        permissions = new Vector();
    }
   
    // --------------------------------------------- Implementation
   
    public void add(Permission permission) {
        permissions.add(permission);
    }
    public void remove(Permission permission) {
        permissions.remove(permission);
    }
    public void clear() {
        permissions.clear();
    }
    public Enumeration elements() {
        return permissions.elements();
    }
   
    public List getPermissions() {
        return permissions;
    }
   
    /**
     * Returns true if any of the permissions in the collectin imply the
     * given permission.
     */
    public boolean implies(Permission permission) {
        Enumeration e = permissions.elements();
        while (e.hasMoreElements()) {
            Permission p = (Permission)e.nextElement();
            if (p.implies(permission))
                return true;
        }
       
        return false;
    }
   
}
TOP

Related Classes of dan.security.acl.EditablePermissions

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.