package org.nutz.mvc;
import java.util.HashMap;
import java.util.Map;
import org.nutz.ioc.Ioc;
import org.nutz.lang.Lang;
import org.nutz.lang.util.Context;
import org.nutz.lang.util.SimpleContext;
import org.nutz.mvc.config.AtMap;
public class NutMvcContext extends SimpleContext {
public ThreadLocal<Context> reqThreadLocal = new ThreadLocal<Context>() {
protected Context initialValue() {
return Lang.context();
}
};
public Map<String, Ioc> iocs = new HashMap<String, Ioc>();
public Map<String, AtMap> atMaps = new HashMap<String, AtMap>();
public Map<String, NutConfig> nutConfigs = new HashMap<String, NutConfig>();
public Map<String, Map<String, Map<String, Object>>> localizations = new HashMap<String, Map<String, Map<String, Object>>>();
public void close() {
reqThreadLocal.set(Lang.context());
iocs.clear();
atMaps.clear();
nutConfigs.clear();
localizations.clear();
}
/**
* 获取默认Ioc,在单个NutFilter/NutServlet中非常合用
*/
public Ioc getDefaultIoc() {
if (iocs.isEmpty())
return null;
return iocs.values().iterator().next();
}
public NutConfig getDefaultNutConfig() {
if (nutConfigs.isEmpty())
return null;
return nutConfigs.values().iterator().next();
}
}