public abstract class AbstractAdaptor extends java.lang.Object implements HttpAdaptor
限定符和类型 | 字段和说明 |
---|---|
protected java.lang.Class<?>[] |
argTypes |
protected java.lang.String[] |
defaultValues |
protected ParamInjector[] |
injs |
protected java.lang.reflect.Method |
method |
static java.lang.String |
ParamDefailtTag |
构造器和说明 |
---|
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("形参名")进行处理
|
public static final java.lang.String ParamDefailtTag
protected ParamInjector[] injs
protected java.lang.reflect.Method method
protected java.lang.Class<?>[] argTypes
protected java.lang.String[] defaultValues
public void init(java.lang.reflect.Method method)
HttpAdaptor
init
在接口中 HttpAdaptor
method
- 你需要适配的方法protected ParamInjector evalInjector(java.lang.reflect.Type type, Param param)
protected abstract ParamInjector evalInjectorBy(java.lang.reflect.Type type, Param param)
type
- 参数类型param
- 参数的注解public java.lang.Object[] adapt(javax.servlet.ServletContext sc, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, java.lang.String[] pathArgs)
HttpAdaptor
adapt
在接口中 HttpAdaptor
sc
- Servlet 上下文对象req
- 请求对象resp
- 响应对象pathArgs
- 字符串数组,路径参数。详情请参看 路径参数protected java.lang.Object getReferObject(javax.servlet.ServletContext sc, javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp, java.lang.String[] pathArgs)
protected ParamInjector paramNameInject(java.lang.reflect.Method method, int index)