| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.handler.AbstractHandlerMapping
public abstract class AbstractHandlerMapping
Abstract base class for HandlerMapping
 implementations. Supports ordering, a default handler, and handler interceptors.
 
Note: This base class does not support exposure of the
 HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE. Support for this attribute
 is up to concrete subclasses, typically based on request URL mappings.
getHandlerInternal(javax.servlet.http.HttpServletRequest), 
setDefaultHandler(java.lang.Object), 
setInterceptors(java.lang.Object[]), 
HandlerInterceptor| Field Summary | 
|---|
| Fields inherited from class org.springframework.context.support.ApplicationObjectSupport | 
|---|
| logger | 
| Fields inherited from interface org.springframework.web.servlet.HandlerMapping | 
|---|
| BEST_MATCHING_PATTERN_ATTRIBUTE, PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, URI_TEMPLATE_VARIABLES_ATTRIBUTE | 
| Fields inherited from interface org.springframework.core.Ordered | 
|---|
| HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE | 
| Constructor Summary | |
|---|---|
| AbstractHandlerMapping() | |
| Method Summary | |
|---|---|
| protected  HandlerInterceptor | adaptInterceptor(Object interceptor)Adapt the given interceptor object to the HandlerInterceptor interface. | 
| protected  void | extendInterceptors(List<Object> interceptors)Extension hook that subclasses can override to register additional interceptors, given the configured interceptors (see setInterceptors(java.lang.Object[])). | 
| protected  HandlerInterceptor[] | getAdaptedInterceptors()Return the adapted interceptors as HandlerInterceptor array. | 
|  Object | getDefaultHandler()Return the default handler for this handler mapping, or nullif none. | 
|  HandlerExecutionChain | getHandler(HttpServletRequest request)Look up a handler for the given request, falling back to the default handler if no specific one is found. | 
| protected  HandlerExecutionChain | getHandlerExecutionChain(Object handler,
                         HttpServletRequest request)Build a HandlerExecutionChain for the given handler, including applicable interceptors. | 
| protected abstract  Object | getHandlerInternal(HttpServletRequest request)Look up a handler for the given request, returning nullif no
 specific one is found. | 
|  int | getOrder()Return the order value of this object, with a higher value meaning greater in terms of sorting. | 
| protected  void | initApplicationContext()Initializes the interceptors. | 
| protected  void | initInterceptors()Initialize the specified interceptors, adapting them where necessary. | 
|  void | setDefaultHandler(Object defaultHandler)Set the default handler for this handler mapping. | 
|  void | setInterceptors(Object[] interceptors)Set the interceptors to apply for all handlers mapped by this handler mapping. | 
|  void | setOrder(int order)Specify the order value for this HandlerMapping bean. | 
| Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport | 
|---|
| getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext | 
| Methods inherited from class org.springframework.context.support.ApplicationObjectSupport | 
|---|
| getApplicationContext, getMessageSourceAccessor, requiredContextClass, setApplicationContext | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
public AbstractHandlerMapping()
| Method Detail | 
|---|
public final void setOrder(int order)
Default value is Integer.MAX_VALUE, meaning that it's non-ordered.
Ordered.getOrder()public final int getOrder()
OrderedNormally 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).
getOrder in interface Orderedpublic void setDefaultHandler(Object defaultHandler)
Default is null, indicating no default handler.
public Object getDefaultHandler()
null if none.
public void setInterceptors(Object[] interceptors)
Supported interceptor types are HandlerInterceptor and WebRequestInterceptor.
interceptors - array of handler interceptors, or null if noneadaptInterceptor(java.lang.Object), 
HandlerInterceptor, 
WebRequestInterceptor
protected void initApplicationContext()
                               throws BeansException
initApplicationContext in class ApplicationObjectSupportApplicationContextException - in case of initialization errors
BeansException - if thrown by ApplicationContext methodsextendInterceptors(java.util.List), 
initInterceptors()protected void extendInterceptors(List<Object> interceptors)
setInterceptors(java.lang.Object[])).
 Will be invoked before initInterceptors() adapts the specified
 interceptors into HandlerInterceptor instances.
 
The default implementation is empty.
interceptors - the configured interceptor List (never null),
 allowing to add further interceptors before as well as after the existing
 interceptorsprotected void initInterceptors()
setInterceptors(java.lang.Object[]), 
adaptInterceptor(java.lang.Object)protected HandlerInterceptor adaptInterceptor(Object interceptor)
Supported interceptor types are HandlerInterceptor and WebRequestInterceptor. Each given WebRequestInterceptor will be wrapped in a WebRequestHandlerInterceptorAdapter. Can be overridden in subclasses.
interceptor - the specified interceptor object
HandlerInterceptor, 
WebRequestInterceptor, 
WebRequestHandlerInterceptorAdapterprotected final HandlerInterceptor[] getAdaptedInterceptors()
null if none
public final HandlerExecutionChain getHandler(HttpServletRequest request)
                                       throws Exception
getHandler in interface HandlerMappingrequest - current HTTP request
Exception - if there is an internal errorgetHandlerInternal(javax.servlet.http.HttpServletRequest)
protected abstract Object getHandlerInternal(HttpServletRequest request)
                                      throws Exception
null if no
 specific one is found. This method is called by getHandler(javax.servlet.http.HttpServletRequest);
 a null return value will lead to the default handler, if one is set.
 Note: This method may also return a pre-built HandlerExecutionChain,
 combining a handler object with dynamically determined interceptors.
 Statically specified interceptors will get merged into such an existing chain.
request - current HTTP request
null if none found
Exception - if there is an internal error
protected HandlerExecutionChain getHandlerExecutionChain(Object handler,
                                                         HttpServletRequest request)
The default implementation simply builds a standard HandlerExecutionChain with the given handler and this handler mapping's common interceptors. Subclasses may override this in order to extend/rearrange the list of interceptors.
NOTE: The passed-in handler object may be a raw handler or a pre-built HandlerExecutionChain. This method should handle those two cases explicitly, either building a new HandlerExecutionChain or extending the existing chain.
For simply adding an interceptor, consider calling super.getHandlerExecutionChain
 and invoking HandlerExecutionChain.addInterceptor(org.springframework.web.servlet.HandlerInterceptor) on the returned chain object.
handler - the resolved handler instance (never null)request - current HTTP request
null)getAdaptedInterceptors()| 
 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||