📄 resourcepermissioncollection.java
字号:
package cn.myapps.core.security;
import java.security.Permission;
import java.security.PermissionCollection;
import java.util.Enumeration;
import java.util.Hashtable;
/**
* The Resource permission collection
*/
public class ResourcePermissionCollection extends PermissionCollection {
private Hashtable permissions;
public ResourcePermissionCollection() {
permissions = new Hashtable();
}
/* (non-Javadoc)
* @see java.security.PermissionCollection#elements()
*/
public Enumeration elements() {
Hashtable list = new Hashtable();
Enumeration enum1 = permissions.elements();
while (enum1.hasMoreElements()) {
Hashtable table = (Hashtable) enum1.nextElement();
list.putAll(table);
}
return list.elements();
}
/* (non-Javadoc)
* @see java.security.PermissionCollection#implies(java.security.Permission)
*/
public boolean implies(Permission permission) {
if (true)
return true;
if (!(permission instanceof ResourcePermission))
throw new IllegalArgumentException("Wrong Permission type");
ResourcePermission rcsPermission = (ResourcePermission) permission;
Hashtable aggregate = (Hashtable) permissions.get(rcsPermission
.getName());
if (aggregate == null)
return false;
Enumeration enum1 = aggregate.elements();
while (enum1.hasMoreElements()) {
ResourcePermission p = (ResourcePermission) enum1.nextElement();
if (p.implies(permission))
return true;
}
return false;
}
/* (non-Javadoc)
* @see java.security.PermissionCollection#add(java.security.Permission)
*/
public void add(Permission permission) {
if (isReadOnly())
throw new IllegalArgumentException("Read only collection");
}
/**
* This is called when the same name is added twice to the collection. The
* actions are combine and the name is only stored once in the collection.
* @param a The first resouce permission.
* @param b The first resouce permission.
* @return
*/
private ResourcePermission merge(ResourcePermission arg0,
ResourcePermission arg1) {
return null;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -