SimpleControllerHandlerAdapter (Spring Framework 3.2.1.RELEASE API)
Date: 2013-01-24

org.springframework.web.servlet.mvc

## Class SimpleControllerHandlerAdapter

- java.lang.Object
- - org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter

- All Implemented Interfaces:
    HandlerAdapter

      public class SimpleControllerHandlerAdapter
      extends Object
      implements HandlerAdapter

  Adapter to use the plain `Controller` workflow interface with the generic `DispatcherServlet`. Supports handlers that implement the `LastModified` interface.

  This is an SPI class, not used directly by application code.

  Author:
    Rod Johnson, Juergen Hoeller
  See Also:
    `DispatcherServlet`, `Controller`, `LastModified`, `HttpRequestHandlerAdapter`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SimpleControllerHandlerAdapter()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `getLastModified(HttpServletRequest request, Object handler)` Same contract as for HttpServlet's `getLastModified` method.
    `ModelAndView` | `handle(HttpServletRequest request, HttpServletResponse response, Object handler)` Use the given handler to handle this request.
    `boolean` | `supports(Object handler)` Given a handler instance, return whether or not this HandlerAdapter can support it.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SimpleControllerHandlerAdapter

          public SimpleControllerHandlerAdapter()

  - ### Method Detail

    - #### supports

          public boolean supports(Object handler)

      Description copied from interface: `HandlerAdapter`
      Given a handler instance, return whether or not this 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);`

      Specified by:
        `supports` in interface `HandlerAdapter`
      Parameters:
        `handler` - handler object to check
      Returns:
        whether or not this object can use the given handler

    - #### handle

          public ModelAndView handle(HttpServletRequest request,
                            HttpServletResponse response,
                            Object handler)
                              throws Exception

      Description copied from interface: `HandlerAdapter`
      Use the given handler to handle this request. The workflow that is required may vary widely.
      Specified by:
        `handle` in interface `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`.
      Returns:
        ModelAndView object with the name of the view and the required model data, or `null` if the request has been handled directly
      Throws:
        `Exception` - in case of errors

    - #### getLastModified

          public long getLastModified(HttpServletRequest request,
                             Object handler)

      Description copied from interface: `HandlerAdapter`
      Same contract as for HttpServlet's `getLastModified` method. Can simply return -1 if there's no support in the handler class.
      Specified by:
        `getLastModified` in interface `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)`, `LastModified.getLastModified(javax.servlet.http.HttpServletRequest)`