public abstract class AbstractHandlerMethodAdapter extends WebContentGenerator implements HandlerAdapter, Ordered
HandlerAdapter
implementations that support
handlers of type HandlerMethod
.METHOD_GET, METHOD_HEAD, METHOD_POST
logger
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor and Description |
---|
AbstractHandlerMethodAdapter() |
Modifier and Type | Method and Description |
---|---|
long |
getLastModified(HttpServletRequest request,
Object handler)
Same contract as for HttpServlet's
getLastModified method. |
protected abstract long |
getLastModifiedInternal(HttpServletRequest request,
HandlerMethod handlerMethod)
Same contract as for
HttpServlet.getLastModified(HttpServletRequest) . |
int |
getOrder()
Return the order value of this object, with a
higher value meaning greater in terms of sorting.
|
ModelAndView |
handle(HttpServletRequest request,
HttpServletResponse response,
Object handler)
Use the given handler to handle this request.
|
protected abstract ModelAndView |
handleInternal(HttpServletRequest request,
HttpServletResponse response,
HandlerMethod handlerMethod)
Use the given handler method to handle the request.
|
void |
setOrder(int order)
Specify the order value for this HandlerAdapter bean.
|
boolean |
supports(Object handler)
Given a handler instance, return whether or not this
HandlerAdapter
can support it. |
protected abstract boolean |
supportsInternal(HandlerMethod handlerMethod)
Given a handler method, return whether or not this adapter can support it.
|
applyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkAndPrepare, getCacheSeconds, getSupportedMethods, isAlwaysMustRevalidate, isRequireSession, isUseCacheControlHeader, isUseCacheControlNoStore, isUseExpiresHeader, preventCaching, setAlwaysMustRevalidate, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseCacheControlNoStore, setUseExpiresHeader
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
getApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContext
public void setOrder(int order)
Default value is Integer.MAX_VALUE
, meaning that it's non-ordered.
Ordered.getOrder()
public int getOrder()
Ordered
Normally starting with 0, with Integer.MAX_VALUE
indicating the greatest value. Same order values will result
in arbitrary positions for the affected objects.
Higher values can be interpreted as lower priority. As a consequence, the object with the lowest value has highest priority (somewhat analogous to Servlet "load-on-startup" values).
public final boolean supports(Object handler)
HandlerAdapter
can support it. Typical HandlerAdapters will base the decision on the handler
type. HandlerAdapters will usually only support one handler type each.
A typical implementation:
return (handler instanceof MyHandler);
This implementation expects the handler to be an HandlerMethod
.
supports
in interface HandlerAdapter
handler
- the handler instance to checkprotected abstract boolean supportsInternal(HandlerMethod handlerMethod)
handlerMethod
- the handler method to checkpublic final ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception
This implementation expects the handler to be an HandlerMethod
.
handle
in interface HandlerAdapter
request
- current HTTP requestresponse
- current HTTP responsehandler
- handler to use. This object must have previously been passed
to the supports
method of this interface, which must have
returned true
.null
if the request has been handled directlyException
- in case of errorsprotected abstract ModelAndView handleInternal(HttpServletRequest request, HttpServletResponse response, HandlerMethod handlerMethod) throws Exception
request
- current HTTP requestresponse
- current HTTP responsehandlerMethod
- handler method to use. This object must have previously been passed to the
supportsInternal(HandlerMethod)
this interface, which must have returned true
.null
if
the request has been handled directlyException
- in case of errorspublic final long getLastModified(HttpServletRequest request, Object handler)
getLastModified
method.
Can simply return -1 if there's no support in the handler class. This implementation expects the handler to be an HandlerMethod
.
getLastModified
in interface HandlerAdapter
request
- current HTTP requesthandler
- handler to useHttpServlet.getLastModified(javax.servlet.http.HttpServletRequest)
,
LastModified.getLastModified(javax.servlet.http.HttpServletRequest)
protected abstract long getLastModifiedInternal(HttpServletRequest request, HandlerMethod handlerMethod)
HttpServlet.getLastModified(HttpServletRequest)
.request
- current HTTP requesthandlerMethod
- handler method to use