node-web-mvc
Version:
node spring mvc
40 lines (39 loc) • 1.56 kB
TypeScript
/**
* @module AbstractHandlerMethodAdapter
* @description action方法处理适配器抽象基类
*/
import HandlerMethod from './HandlerMethod';
import HandlerAdapter from './HandlerAdapter';
import ServletContext from '../http/ServletContext';
import ModelAndView from '../models/ModelAndView';
export default abstract class AbstractHandlerMethodAdapter extends HandlerAdapter {
/**
* 用于判断当前适配器是否能处理对应的action操作
* @param handler 当前处理的handler
*/
supports(handler: any): boolean;
/**
* 用于判断当前适配器是否能处理对应的HandlerMethod类型操作
* @param handlerMethod 当前处理的方法
*/
protected abstract supportsInternal(handlerMethod: HandlerMethod): boolean;
/**
* 用于处理当前handler
* @param servletContext 当前请求对象上下文实例
* @param handler 当前handler
*/
handle(servletContext: ServletContext, handler: any): Promise<ModelAndView>;
/**
* 用于处理当前HandlerMethod
* @param request 当前请求对象实例
* @param response 当前返回对象实例
* @param handlerMethod 当前 HandlerMethod实例
*/
protected abstract handleInternal(servletContext: ServletContext, handlerMethod: HandlerMethod): Promise<ModelAndView>;
/**
* 返回上次修改时间,可以返回-1表示不支持
* @param request 当前请求信息
* @param handler 当前HandlerMethod
*/
getLastModified(request: any, handler: any): number;
}