org.springframework.web.servlet.handler.metadata
Class AbstractPathMapHandlerMapping
java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.handler.AbstractHandlerMapping
org.springframework.web.servlet.handler.AbstractUrlHandlerMapping
org.springframework.web.servlet.handler.metadata.AbstractPathMapHandlerMapping
- All Implemented Interfaces:
- ApplicationContextAware, HandlerMapping, Ordered
- Direct Known Subclasses:
- CommonsPathMapHandlerMapping
- public abstract class AbstractPathMapHandlerMapping
- extends AbstractUrlHandlerMapping
Abstract implementation of the HandlerMapping interface that recognizes
metadata attributes of type PathMap on application Controllers and automatically
wires them into the current servlet's WebApplicationContext.
The path must be mapped to the relevant Spring DispatcherServlet in /WEB-INF/web.xml.
It's possible to have multiple PathMap attributes on the one controller class.
Controllers instantiated by this class may have dependencies on middle tier
objects, expressed via JavaBean properties or constructor arguments. These will
be resolved automatically.
You will normally use this HandlerMapping with at most one DispatcherServlet in your
web application. Otherwise you'll end with one instance of the mapped controller for
each DispatcherServlet's context. You might want this -- for example, if
one's using a .pdf mapping and a PDF view, and another a JSP view, or if
using different middle tier objects, but should understand the implications. All
Controllers with attributes will be picked up by each DispatcherServlet's context.
- Version:
- $Id: AbstractPathMapHandlerMapping.java,v 1.6 2004/03/18 02:46:17 trisberg Exp $
- Author:
- Rod Johnson
Method Summary |
protected abstract java.util.Collection |
getClassNamesWithPathMapAttributes()
Use an attribute index to get a Collection of FQNs of
classes with the required PathMap attribute. |
protected abstract PathMap[] |
getPathMapAttributes(java.lang.Class handlerClass)
Use Attributes API to find PathMap attributes for the given class. |
void |
initApplicationContext()
Look for all classes with a PathMap class attribute, instantiate them in
the owning ApplicationContext and register them as MVC handlers usable
by the current DispatcherServlet. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractPathMapHandlerMapping
public AbstractPathMapHandlerMapping()
initApplicationContext
public void initApplicationContext()
throws ApplicationContextException
- Look for all classes with a PathMap class attribute, instantiate them in
the owning ApplicationContext and register them as MVC handlers usable
by the current DispatcherServlet.
- Overrides:
initApplicationContext
in class ApplicationObjectSupport
- Throws:
ApplicationContextException
- in case of initialization errors- See Also:
ApplicationObjectSupport.initApplicationContext()
getClassNamesWithPathMapAttributes
protected abstract java.util.Collection getClassNamesWithPathMapAttributes()
- Use an attribute index to get a Collection of FQNs of
classes with the required PathMap attribute.
getPathMapAttributes
protected abstract PathMap[] getPathMapAttributes(java.lang.Class handlerClass)
- Use Attributes API to find PathMap attributes for the given class.
We know there's at least one, as the getClassNamesWithPathMapAttributes
method return this class name.
Copyright (C) 2003-2004 The Spring Framework Project.