org.springframework.web.portlet.mvc
Class SimpleControllerHandlerAdapter

java.lang.Object
  extended by org.springframework.web.portlet.mvc.SimpleControllerHandlerAdapter
All Implemented Interfaces:
Aware, PortletContextAware, HandlerAdapter

public class SimpleControllerHandlerAdapter
extends Object
implements HandlerAdapter, PortletContextAware

Adapter to use the Controller workflow interface with the generic DispatcherPortlet.

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

Since:
2.0
Author:
Juergen Hoeller, John A. Lewis
See Also:
DispatcherPortlet, Controller, ResourceAwareController, EventAwareController

Constructor Summary
SimpleControllerHandlerAdapter()
           
 
Method Summary
 void handleAction(ActionRequest request, ActionResponse response, Object handler)
          Use the given handler to handle this action request.
 void handleEvent(EventRequest request, EventResponse response, Object handler)
          Use the given handler to handle this event request.
 ModelAndView handleRender(RenderRequest request, RenderResponse response, Object handler)
          Use the given handler to handle this render request.
 ModelAndView handleResource(ResourceRequest request, ResourceResponse response, Object handler)
          Use the given handler to handle this resource request.
 void setPortletContext(PortletContext portletContext)
          Set the PortletContext that this object runs in.
 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

setPortletContext

public void setPortletContext(PortletContext portletContext)
Description copied from interface: PortletContextAware
Set the PortletContext that this object runs in.

Invoked after population of normal bean properties but before an init callback like InitializingBean's afterPropertiesSet or a custom init-method. Invoked after ApplicationContextAware's setApplicationContext.

Specified by:
setPortletContext in interface PortletContextAware
Parameters:
portletContext - PortletContext object to be used by this object

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

handleAction

public void handleAction(ActionRequest request,
                         ActionResponse response,
                         Object handler)
                  throws Exception
Description copied from interface: HandlerAdapter
Use the given handler to handle this action request. The workflow that is required may vary widely.

Specified by:
handleAction in interface HandlerAdapter
Parameters:
request - current action request
response - current action response
handler - handler to use. This object must have previously been passed to the supports method of this interface, which must have returned true.
Throws:
Exception - in case of errors
See Also:
Portlet.processAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse)

handleRender

public ModelAndView handleRender(RenderRequest request,
                                 RenderResponse response,
                                 Object handler)
                          throws Exception
Description copied from interface: HandlerAdapter
Use the given handler to handle this render request. The workflow that is required may vary widely.

Specified by:
handleRender in interface HandlerAdapter
Parameters:
request - current render request
response - current render 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
See Also:
Portlet.render(javax.portlet.RenderRequest, javax.portlet.RenderResponse)

handleResource

public ModelAndView handleResource(ResourceRequest request,
                                   ResourceResponse response,
                                   Object handler)
                            throws Exception
Description copied from interface: HandlerAdapter
Use the given handler to handle this resource request. The workflow that is required may vary widely.

Specified by:
handleResource in interface HandlerAdapter
Parameters:
request - current render request
response - current render 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
See Also:
ResourceServingPortlet.serveResource(javax.portlet.ResourceRequest, javax.portlet.ResourceResponse)

handleEvent

public void handleEvent(EventRequest request,
                        EventResponse response,
                        Object handler)
                 throws Exception
Description copied from interface: HandlerAdapter
Use the given handler to handle this event request. The workflow that is required may vary widely.

Specified by:
handleEvent in interface HandlerAdapter
Parameters:
request - current action request
response - current action response
handler - handler to use. This object must have previously been passed to the supports method of this interface, which must have returned true.
Throws:
Exception - in case of errors
See Also:
EventPortlet.processEvent(javax.portlet.EventRequest, javax.portlet.EventResponse)