⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resourcepermissioncollection.java

📁 OBPM是一个开源
💻 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 + -