org.nutz.mvc.adaptor
类 AbstractAdaptor

java.lang.Object
  继承者 org.nutz.mvc.adaptor.AbstractAdaptor
所有已实现的接口:
HttpAdaptor
直接已知子类:
PairAdaptor, VoidAdaptor

public abstract class AbstractAdaptor
extends java.lang.Object
implements HttpAdaptor

作者:
zozoh(zozohtnt@gmail.com), wendal(wendal1985@gmail.com), juqkai(juqkai@gmail.com)

字段摘要
protected  ParamInjector[] injs
           
protected  java.lang.reflect.Method method
           
 
构造方法摘要
AbstractAdaptor()
           
 
方法摘要
 java.lang.Object[] adapt(javax.servlet.ServletContext sc, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, java.lang.String[] pathArgs)
          你的适配器需要根据传入的 request 和 response 生成函数的调用参数
protected  ParamInjector evalInjector(java.lang.reflect.Type type, Param param)
           
protected abstract  ParamInjector evalInjectorBy(java.lang.reflect.Type type, Param param)
          子类实现这个方法根据自己具体的逻辑来生产一个参数注入器
protected  java.lang.Object getReferObject(javax.servlet.ServletContext sc, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, java.lang.String[] pathArgs)
           
 void init(java.lang.reflect.Method method)
          这个函数将在你的适配器生命周期内,这个函数将只被调用一次。
protected  ParamInjector paramNameInject(java.lang.reflect.Method method, int index)
          这是最后的大招了,查一下形参的名字,作为@Param("形参名")进行处理
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

injs

protected ParamInjector[] injs

method

protected java.lang.reflect.Method method
构造方法详细信息

AbstractAdaptor

public AbstractAdaptor()
方法详细信息

init

public void init(java.lang.reflect.Method method)
从接口 HttpAdaptor 复制的描述
这个函数将在你的适配器生命周期内,这个函数将只被调用一次。它用来告诉你的适配器,你需要适配什么方法。

指定者:
接口 HttpAdaptor 中的 init
参数:
method - 你需要适配的方法

evalInjector

protected ParamInjector evalInjector(java.lang.reflect.Type type,
                                     Param param)

evalInjectorBy

protected abstract ParamInjector evalInjectorBy(java.lang.reflect.Type type,
                                                Param param)
子类实现这个方法根据自己具体的逻辑来生产一个参数注入器

参数:
type - 参数类型
param - 参数的注解
返回:
一个新的参数注入器实例

adapt

public java.lang.Object[] adapt(javax.servlet.ServletContext sc,
                                javax.servlet.http.HttpServletRequest req,
                                javax.servlet.http.HttpServletResponse resp,
                                java.lang.String[] pathArgs)
从接口 HttpAdaptor 复制的描述
你的适配器需要根据传入的 request 和 response 生成函数的调用参数

指定者:
接口 HttpAdaptor 中的 adapt
参数:
sc - Servlet 上下文对象
req - 请求对象
resp - 响应对象
pathArgs - 字符串数组,路径参数。详情请参看 路径参数
返回:
调用参数数组

getReferObject

protected java.lang.Object getReferObject(javax.servlet.ServletContext sc,
                                          javax.servlet.http.HttpServletRequest req,
                                          javax.servlet.http.HttpServletResponse resp,
                                          java.lang.String[] pathArgs)

paramNameInject

protected ParamInjector paramNameInject(java.lang.reflect.Method method,
                                        int index)
这是最后的大招了,查一下形参的名字,作为@Param("形参名")进行处理