📄 cpm.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 + -