All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.nutz.mvc.NutConfig Maven / Gradle / Ivy

Go to download

Nutz, which is a collections of lightweight frameworks, each of them can be used independently

There is a newer version: 1.r.72
Show newest version
package org.nutz.mvc;

import java.util.List;

import javax.servlet.ServletContext;

import org.nutz.ioc.Ioc;
import org.nutz.lang.util.Context;
import org.nutz.mvc.config.AtMap;

/**
 * 这个接口是一个抽象封装
 * 

* 如果是通过 Servlet 方式加载的 Nutz.Mvc, 只需要根据 ServletConfig 来实现一下这个接口 同理, Filter * 方式,甚至不是标准的 JSP/Servlet 容器,只要实现了这个接口,都可以 正常的调用 Loading 接口 * * @author zozoh([email protected]) */ public interface NutConfig { /** * @return 当前应用的 IOC 容器实例 */ Ioc getIoc(); /** * @return 当前应用的根路径 */ String getAppRoot(); /** * @return 当前应用的名称 */ String getAppName(); /** * 获取配置的参数 * * @param name * 参数名 * @return 参数值 */ String getInitParameter(String name); /** * 获取配置参数的名称列表 * * @return 配置参数的名称列表 */ List getInitParameterNames(); /** * 获取上下文环境中的属性对象 * * @param name * - 属性名 * * @return 值 */ Object getAttribute(String name); /** * 获取上下文环境中属性名称的列表 * * @return 属性名称列表 */ List getAttributeNames(); /** * 获取上下文环境中的属性对象,并自动转成指定类型 * * @param * 类型 * @param type * 类型 * @param name * 属性名 * @return 值 */ T getAttributeAs(Class type, String name); /** * 在上下文环境中设置属性对象 * * @param name * 属性名 * @param obj * 属性值 */ void setAttribute(String name, Object obj); /** * 在上下文环境中设置属性对象,如果值为 null,则忽略 * * @param name * 属性名 * @param obj * 属性值 */ void setAttributeIgnoreNull(String name, Object obj); /** * 获取配置的主模块,一般的说是存放在 initParameter 集合下的 "modules" 属性 值为一个 class 的全名 * * @return 配置的主模块,null - 如果没有定义这个参数 */ Class getMainModule(); /** * 在你的模块中通过 '@At' 声明的入口函数,可以存储在 AtMap 中,这个函数提供一个 AtMap 的实例 */ AtMap getAtMap(); /** * 根据 MainModule 中的 '@LoadingBy' 得到一个加载逻辑的实现类 * * @return 加载逻辑 */ Loading createLoading(); /** * 如果在非 JSP/SERVLET 容器内,这个函数不保证返回正确的结果 * * @return 当前应用的上下文对象 */ ServletContext getServletContext(); /** * 加载时上下文包括环境变量,以及 "app.root" 等信息 * * @return 加载时上下文 */ Context getLoadingContext(); void setSessionProvider(SessionProvider provider); SessionProvider getSessionProvider(); UrlMapping getUrlMapping(); void setUrlMapping(UrlMapping urlMapping); ActionChainMaker getActionChainMaker(); void setActionChainMaker(ActionChainMaker acm); ViewMaker[] getViewMakers(); void setViewMakers(ViewMaker[] makers); void setMainModule(Class mainModule); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy