extensionpool.java

来自「jrc-src0.4.00源代码发布版(Java客户端框架)」· Java 代码 · 共 70 行

JAVA
70
字号
//Source file: d:\\Program Files\\Rational\\RUPBuilder\\cn\\com\\efly\\clientframe\\core\\container\\ExtensionPool.java

package efly.clientframe.core.container;

import java.util.Hashtable;
import java.util.Vector;

import efly.clientframe.core.Extension;

/**
 * @author efly
 * @version 1.0.0,11/22/02
 */
public class ExtensionPool {
	private static ExtensionPool instance;
	private Hashtable pool = new Hashtable(50);

	/**
	 * @roseuid 3DD9E41402B4
	 */
	protected ExtensionPool() {

	}

	/**
	 * @return ExtensionPool
	 * @roseuid 3DD9E38D0242
	 */
	public synchronized static ExtensionPool getExtensionPool() {
		if (instance == null)
			instance = new ExtensionPool();
		return instance;
	}

	/**
	 * 注册扩展对象
	 * @param clazz
	 * @param extension
	 */
	public void register(Class clazz, Extension extension) {
		pool.put(clazz, extension);
	}

	/**
	 * 获得扩展对象
	 * @param clazz
	 * @return Extension
	 */
	public Extension getExtension(Class clazz) {
		return (Extension) pool.get(clazz);
	}

	/**
	 * 获得所有扩展对象
	 * @return Extension[]
	 */
	public Extension[] getExtensions() {
		Vector vec = new Vector(pool.values());
		int len = vec.size();
		if (len == 0)
			return null;
		Extension[] extension = new Extension[len];
		for (int i = 0; i < len; i++) {
			extension[i] = (Extension) vec.elementAt(i);
		}
		return extension;
	}

}

⌨️ 快捷键说明

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