package org.infosec.ismp.manager.domains; import java.util.HashMap; import java.util.Map; import org.infosec.ismp.util.ThreadCategory; /** * 管理所有的域 * * @author lianglin * */ public class DomainManagerComp { private Map<String, DomainComponent> m_domains = new HashMap<String, DomainComponent>(); /** * 创建一个新的域 * * @param domainId * @return */ public DomainComponent createDomain(String domainId) { DomainComponent domain = new DomainComponent(domainId); m_domains.put(domainId, domain); log().debug("创建一个新的域,域id是 : " + domainId); return domain; } /** * 删除一个域,如果该域不存在,没有任何工作 * * @param domainId */ public void removeDomain(String domainId) { synchronized (m_domains) { if (m_domains.containsKey(domainId)) { m_domains.remove(domainId); log().debug("删除对应的域: " + domainId); } else { log().debug("没有找到对应的域 :" + domainId); } } } /** * 根据域标识,返回域,如果该域不存在,返回null; * * @param domainId * @return */ public DomainComponent findDomain(String domainId) { return m_domains.get(domainId); } ThreadCategory log() { return ThreadCategory.getInstance(getClass()); } }