您的位置:首页 > 移动开发 > Objective-C

MVC框架实现9---Smart框架Context实现

2012-03-09 16:55 387 查看
config 上下文:

package com.smart.context;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.smart.config.ActionDefine;
import com.smart.config.ConverterDefine;
import com.smart.config.RequestProcessorDefine;

/**
* 封装配置文件中的数据
* 采用单利设计模式
* @author qiaoyupeng
*
*/
public class ConfigContext {

private final static ConfigContext configContext = new ConfigContext();

private ConfigContext(){}

private RequestProcessorDefine processorDefine; //封装RequestProcessor节点数据

private Map<String,ActionDefine> actions = new HashMap<String,ActionDefine>(); //封装Actions节点数据

private List<ConverterDefine> cds = new ArrayList<ConverterDefine>();

public Map<String, ActionDefine> getActions() {
return actions;
}

public void setActions(Map<String, ActionDefine> actions) {
this.actions = actions;
}

public static ConfigContext getConfigcontext() {
return configContext;
}

public RequestProcessorDefine getProcessorDefine() {
return processorDefine;
}

public void setProcessorDefine(RequestProcessorDefine processorDefine) {
this.processorDefine = processorDefine;
}

public List<ConverterDefine> getCds() {
return cds;
}

public void setCds(List<ConverterDefine> cds) {
this.cds = cds;
}

}


Smart上下文:
package com.smart.context;

import java.util.HashMap;
import java.util.Map;

import com.smart.config.RequestProcessorDefine;
import com.smart.servlet.helper.DefaultRequestProcessor;
import com.smart.servlet.helper.RequestProcessor;
import com.smart.util.ReflectionUtil;

/**
* Smart框架的实体组件上下文
* @author qiaoyupeng
*
*/
@SuppressWarnings("rawtypes")
public class SmartContext {

private static final SmartContext context = new SmartContext();

private SmartContext(){}

private ConfigContext configContext = ConfigContext.getConfigcontext();

private RequestProcessor requestProcessor;

private Map<Class,Object> converters = new HashMap<Class,Object>();

public static SmartContext getContext() {
return context;
}

public Map<Class, Object> getConverters() {
return converters;
}

public void setConverters(Map<Class, Object> converters) {
this.converters = converters;
}

public ConfigContext getConfigContext() {
return configContext;
}

public RequestProcessor getRequestProcessor() {

// 当第一次获取时,进行初始化
if( requestProcessor == null) {
RequestProcessorDefine processorDefine = ConfigContext.getConfigcontext().getProcessorDefine();
if(processorDefine != null && processorDefine.getClazz() != null ){
requestProcessor = (RequestProcessor)ReflectionUtil.getInstance(processorDefine.getClazz());
}else {
requestProcessor = new DefaultRequestProcessor();
}
}

return requestProcessor;
}

public void setRequestProcessor(RequestProcessor requestProcessor) {
this.requestProcessor = requestProcessor;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐