abstractpolicydatabase.java

来自「这是linux下ssl vpn的实现程序」· Java 代码 · 共 75 行

JAVA
75
字号
package com.sslexplorer.policyframework;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;


/**
 * Abstract implementation of a
 * {@link com.sslexplorer.policyframework.PolicyDatabase} that provides basic
 * functionality for registering resource types.
 * 
 * @author Brett Smith <a href="mailto: brett@3sp.com">&lt;brett@3sp.com&gt;</a>
 */
public abstract class AbstractPolicyDatabase implements PolicyDatabase {

    protected Map resourceTypes = new HashMap();

    /*
     * (non-Javadoc)
     * 
     * @see com.sslexplorer.policyframework.PolicyDatabase#registerResourceType(com.sslexplorer.policyframework.ResourceType)
     */
    public void registerResourceType(ResourceType resourceType) throws Exception {
        resourceTypes.put(String.valueOf(resourceType.getResourceTypeId()), resourceType);
    }

    /*
     * (non-Javadoc)
     * 
     * @see com.sslexplorer.policyframework.PolicyDatabase#deregisterResourceType(com.sslexplorer.policyframework.ResourceType)
     */
    public void deregisterResourceType(ResourceType resourceType) throws Exception {
        resourceTypes.remove(String.valueOf(resourceType.getResourceTypeId()));
    }

    /*
     * (non-Javadoc)
     * 
     * @see com.sslexplorer.policyframework.PolicyDatabase#getResourceType(int)
     */
    public ResourceType getResourceType(int resourceTypeId) {
        return (ResourceType) resourceTypes.get(String.valueOf(resourceTypeId));
    }

    /*
     * (non-Javadoc)
     * 
     * @see com.sslexplorer.policyframework.PolicyDatabase#getResourceTypes(java.lang.String)
     */
    public List getResourceTypes(String permissionClass) throws Exception {
        List l = new ArrayList();
        Map.Entry entry;
        for (Iterator i = resourceTypes.entrySet().iterator(); i.hasNext();) {
            entry = (Map.Entry) i.next();
            if (permissionClass == null || permissionClass.equals(((ResourceType) entry.getValue()).getPermissionClass())) {
                l.add(entry.getValue());
            }
        }
        return l;
    }

    /*
     * (non-Javadoc)
     * 
     * @see com.sslexplorer.policyframework.PolicyDatabase#getResourceTypeCount()
     */
    public int getResourceTypeCount() {
        return resourceTypes.size();
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?