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

📄 cpm.java

📁 用JAVA实现排序等简单算法的演示
💻 JAVA
字号:
package contextsPoolManager;

/**
 * 一个简单的上下文池管理器
 * 
 * @author 周晓聪
 * @since 2007/10/15
 * @version 2.0
 */
public class CPM {

	private static ContextList contexts = new ContextList();		// 存放上下文的列表
	
	// 注册到CMP的上下文处理者,目前只支持注册一个
	private static ContextHandler handler = null;	
	// 启动当前注册器的上下文
	private static String triggerContext = null;
	
	
	/**
	 * 不允许构造实例,CPM作为全局类,只是使用其中的静态方法
	 *
	 */
	private CPM() { }
	
	/**
	 *  注册上下文处理器(handler),目前仅支持一个上下文处理器。
	 * @param aHandler 上下文处理器
	 */
	public static void setContextHandler(ContextHandler aHandler) { 
		handler = aHandler;
		triggerContext = handler.getTriggerContext();
	}

	/**
	 * 添加上下文
	 */
	public static void addContext(Context context) {
		if (triggerContext != null) contexts.addContext(context);
		if (handler != null) triggerHandler(context);
	}
	
	/**
	 * 删除上下文
	 */
	public static void removeContext(Context context) {
		contexts.removeContext(context);
	}
	
	/**
	 * 清楚列表中的所有上下文
	 *
	 */
	public static void clearContext() {
		contexts.clear();
	}
	
	/**
	 * 触发上下文处理器处理列表中的所有上下文
	 */
	public static void triggerHandler(Context context) {
		if (triggerContext == null) handler.handleContext(context);
		else {
			if (context.getContextName().equals(triggerContext)) {
				for (int index = 0; index < contexts.getContextSize(); index++) {
					handler.handleContext(contexts.getContext(index));
				}
				contexts.clear();
			}
		}
	}

	/**
	 * 打印上下文信息,以方便测试或调试
	 *
	 */
	public static void println() {
		System.out.println(contexts);
		System.out.println("Context number:" + contexts.getContextSize());
	}
}

⌨️ 快捷键说明

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