com.interface21.web.servlet.mvc
Class SimpleControllerHandlerAdapter

java.lang.Object
  |
  +--com.interface21.context.support.ApplicationObjectSupport
        |
        +--com.interface21.web.servlet.mvc.SimpleControllerHandlerAdapter
All Implemented Interfaces:
ApplicationContextAware, HandlerAdapter

public class SimpleControllerHandlerAdapter
extends ApplicationObjectSupport
implements HandlerAdapter

Adapter to use the Controller workflow interface with the generic DispatcherServlet. This is an SPI class, not used directly by application code.

Version:
$Id: SimpleControllerHandlerAdapter.java,v 1.4 2003/06/06 16:15:09 jhoeller Exp $
Author:
Rod Johnson
See Also:
DispatcherServlet

Fields inherited from class com.interface21.context.support.ApplicationObjectSupport
logger
 
Constructor Summary
SimpleControllerHandlerAdapter()
           
 
Method Summary
 long getLastModified(javax.servlet.http.HttpServletRequest request, java.lang.Object handler)
          Same contract as for HttpServlet.getLastModified.
 ModelAndView handle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.lang.Object handler)
          Use the given handler to handle this request.
 boolean supports(java.lang.Object handler)
          Given a handler instance, return whether or not this HandlerAdapter can support it.
 
Methods inherited from class com.interface21.context.support.ApplicationObjectSupport
getApplicationContext, initApplicationContext, setApplicationContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.interface21.context.ApplicationContextAware
setApplicationContext
 

Constructor Detail

SimpleControllerHandlerAdapter

public SimpleControllerHandlerAdapter()
Method Detail

supports

public boolean supports(java.lang.Object handler)
Description copied from interface: HandlerAdapter
Given a handler instance, return whether or not this HandlerAdapter can support it. Usually HandlerAdapters will base the decision on the handler type. HandlerAdapters will normally support only one handler type.

A typical implementation: return handler != null && MyHandler.class.isAssignableFrom(handler.getClass());

Specified by:
supports in interface HandlerAdapter
Following copied from interface: com.interface21.web.servlet.HandlerAdapter
Parameters:
handler - handler object to check
Returns:
whether or not this object can use the given handler

handle

public ModelAndView handle(javax.servlet.http.HttpServletRequest request,
                           javax.servlet.http.HttpServletResponse response,
                           java.lang.Object handler)
                    throws javax.servlet.ServletException,
                           java.io.IOException
Description copied from interface: HandlerAdapter
Use the given handler to handle this request. The workflow that is required may vary widely. Can also perform authorization checks.
Specified by:
handle in interface HandlerAdapter
Following copied from interface: com.interface21.web.servlet.HandlerAdapter
Parameters:
request - current HTTP request
response - current HTTP response
handler - handler to use. This object must have previously been passed to the supports() method of this interface, which must have returned true. Implementations that generate output themselves (and return null from this method) may encounter IOExceptions.
Returns:
ModelAndView object with the name of the view and the required model data, or null if the request has been handled directly.
Throws:
javax.servlet.ServletException - if there is a general error
java.io.IOException - in case of I/O errors

getLastModified

public long getLastModified(javax.servlet.http.HttpServletRequest request,
                            java.lang.Object handler)
Description copied from interface: HandlerAdapter
Same contract as for HttpServlet.getLastModified. Can simply return -1 if there's no support in the handler class.
Specified by:
getLastModified in interface HandlerAdapter
Following copied from interface: com.interface21.web.servlet.HandlerAdapter
Parameters:
request - current HTTP request
handler - handler to use
Returns:
the lastModified value for the given handler
See Also:
HttpServlet.getLastModified(javax.servlet.http.HttpServletRequest)


Rod Johnson and Spring contributors 2001-2003.