infoconfigmanager.java

来自「java 调用windows的api」· Java 代码 · 共 94 行

JAVA
94
字号
package org.jawin.browser.info;

import java.util.HashMap;
import org.jawin.browser.config.ConfigManager;

/**
 * Manages loaded info configuration that tells the UI if and how
 * info doco should be geenrated for a certain node
 *
 * <p>Title: Jawin Code Generation GUI</p>
 * <p>Description: GUI for exploring type libraries and generating Java code</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: Open Source Incentive</p>
 *
 * @author Josh Passenger
 * @version 1.0
 */

public class InfoConfigManager
{

	private static InfoConfigManager instance = null;

	private HashMap infoConfig = new HashMap();

	private InfoConfigManager()
	{
	}

	public static synchronized void initialize()
	{
		instance = new InfoConfigManager();
		instance.loadConfiguration();
	}

	public static InfoConfigManager getInstance()
	{
		if (instance == null)
		{
			throw new IllegalStateException("InfoConfigManager.getInstance() InfoConfigManager was not initialized");
		}

		return instance;
	}

	public void clearConfig()
	{
		infoConfig.clear();
	}

	public void addInfoConfig(InfoConfig newInfoConfig)
	{
		infoConfig.put(newInfoConfig.getBaseDataClassName(), newInfoConfig);
	}

	public boolean generatesInfo(String className)
	{
		InfoConfig config = getInfoConfig(className);

		if (config == null)
		{
			return false;
		}

		return config.generatesInfo();
	}

	public InfoConfig getInfoConfig(String className)
	{
		return (InfoConfig) infoConfig.get(className);
	}

	public String getStylesheet(String className)
	{
		InfoConfig config = getInfoConfig(className);

		if (config == null)
		{
			return "";
		}

		return config.getStylesheetUrl();
	}

	/**
	 * Loads the configuration from disk
	 */
	private void loadConfiguration()
	{
		String infoConfigFile = ConfigManager.getInstance().getString("info.config", "config/infoconfig.xml");
		InfoConfigParser parser = new InfoConfigParser();
		parser.parseInfoConfig(infoConfigFile);
	}
}

⌨️ 快捷键说明

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