Class WebRequestHandlerInterceptorAdapter
- java.lang.Object
- org.springframework.web.portlet.handler.WebRequestHandlerInterceptorAdapter
- All Implemented Interfaces:
HandlerInterceptor
public class WebRequestHandlerInterceptorAdapter extends Object implements HandlerInterceptor
Adapter that implements the Portlet HandlerInterceptor interface and wraps an underlying WebRequestInterceptor.NOTE: The WebRequestInterceptor is by default only applied to the Portlet render phase, which is dealing with preparing and rendering a Portlet view. The Portlet action phase will only be intercepted with WebRequestInterceptor calls if the
renderPhaseOnlyflag is explicitly set tofalse. In general, it is recommended to use the Portlet-specific HandlerInterceptor mechanism for differentiating between action and render interception.- Since:
- 2.0
- Author:
- Juergen Hoeller
- See Also:
WebRequestInterceptor,HandlerInterceptor
Constructor Summary
Constructors Constructor Description WebRequestHandlerInterceptorAdapter(WebRequestInterceptor requestInterceptor)Create a new WebRequestHandlerInterceptorAdapter for the given WebRequestInterceptor, applying to the render phase only.WebRequestHandlerInterceptorAdapter(WebRequestInterceptor requestInterceptor, boolean renderPhaseOnly)Create a new WebRequestHandlerInterceptorAdapter for the given WebRequestInterceptor.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidafterActionCompletion(ActionRequest request, ActionResponse response, Object handler, Exception ex)Callback after completion of request processing in the action phase, that is, after rendering the view.voidafterEventCompletion(EventRequest request, EventResponse response, Object handler, Exception ex)Callback after completion of request processing in the action phase, that is, after rendering the view.voidafterRenderCompletion(RenderRequest request, RenderResponse response, Object handler, Exception ex)Callback after completion of request processing, that is, after rendering the view.voidafterResourceCompletion(ResourceRequest request, ResourceResponse response, Object handler, Exception ex)Callback after completion of request processing, that is, after rendering the view.voidpostHandleRender(RenderRequest request, RenderResponse response, Object handler, ModelAndView modelAndView)Intercept the execution of a handler in the render phase.voidpostHandleResource(ResourceRequest request, ResourceResponse response, Object handler, ModelAndView modelAndView)Intercept the execution of a handler in the render phase.booleanpreHandleAction(ActionRequest request, ActionResponse response, Object handler)Intercept the execution of a handler in the action phase.booleanpreHandleEvent(EventRequest request, EventResponse response, Object handler)Intercept the execution of a handler in the action phase.booleanpreHandleRender(RenderRequest request, RenderResponse response, Object handler)Intercept the execution of a handler in the render phase.booleanpreHandleResource(ResourceRequest request, ResourceResponse response, Object handler)Intercept the execution of a handler in the render phase.
Constructor Detail
WebRequestHandlerInterceptorAdapter
public WebRequestHandlerInterceptorAdapter(WebRequestInterceptor requestInterceptor)
Create a new WebRequestHandlerInterceptorAdapter for the given WebRequestInterceptor, applying to the render phase only.- Parameters:
requestInterceptor- the WebRequestInterceptor to wrap
WebRequestHandlerInterceptorAdapter
public WebRequestHandlerInterceptorAdapter(WebRequestInterceptor requestInterceptor, boolean renderPhaseOnly)
Create a new WebRequestHandlerInterceptorAdapter for the given WebRequestInterceptor.- Parameters:
requestInterceptor- the WebRequestInterceptor to wraprenderPhaseOnly- whether to apply to the render phase only (true) or to the action phase as well (false)
Method Detail
preHandleAction
public boolean preHandleAction(ActionRequest request, ActionResponse response, Object handler) throws Exception
Description copied from interface:HandlerInterceptorIntercept the execution of a handler in the action phase.Called after a HandlerMapping determines an appropriate handler object to handle an
ActionRequest, but before said HandlerAdapter actually invokes the handler.DispatcherPortletprocesses a handler in an execution chain, consisting of any number of interceptors, with the handler itself at the end. With this method, each interceptor can decide to abort the execution chain, typically throwing an exception or writing a custom response.- Specified by:
preHandleActionin interfaceHandlerInterceptor- Parameters:
request- current portlet action requestresponse- current portlet action responsehandler- chosen handler to execute, for type and/or instance evaluation- Returns:
trueif the execution chain should proceed with the next interceptor or the handler itself. Else,DispatcherPortletassumes that this interceptor has already dealt with the response itself- Throws:
Exception- in case of errors
afterActionCompletion
public void afterActionCompletion(ActionRequest request, ActionResponse response, Object handler, Exception ex) throws Exception
Description copied from interface:HandlerInterceptorCallback after completion of request processing in the action phase, that is, after rendering the view. Will be called on any outcome of handler execution, thus allowing for proper resource cleanup.Note: Will only be called if this interceptor's
HandlerInterceptor.preHandleAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse, Object)method has successfully completed and returnedtrue!- Specified by:
afterActionCompletionin interfaceHandlerInterceptor- Parameters:
request- current portlet action requestresponse- current portlet action responsehandler- chosen handler to execute, for type and/or instance examinationex- exception thrown on handler execution, if any (only included as additional context information for the case where a handler threw an exception; request execution may have failed even when this argument isnull)- Throws:
Exception- in case of errors
preHandleRender
public boolean preHandleRender(RenderRequest request, RenderResponse response, Object handler) throws Exception
Description copied from interface:HandlerInterceptorIntercept the execution of a handler in the render phase.Called after a HandlerMapping determines an appropriate handler object to handle a
RenderRequest, but before said HandlerAdapter actually invokes the handler.DispatcherPortletprocesses a handler in an execution chain, consisting of any number of interceptors, with the handler itself at the end. With this method, each interceptor can decide to abort the execution chain, typically throwing an exception or writing a custom response.- Specified by:
preHandleRenderin interfaceHandlerInterceptor- Parameters:
request- current portlet render requestresponse- current portlet render responsehandler- chosen handler to execute, for type and/or instance evaluation- Returns:
trueif the execution chain should proceed with the next interceptor or the handler itself. Else,DispatcherPortletassumes that this interceptor has already dealt with the response itself- Throws:
Exception- in case of errors
postHandleRender
public void postHandleRender(RenderRequest request, RenderResponse response, Object handler, ModelAndView modelAndView) throws Exception
Description copied from interface:HandlerInterceptorIntercept the execution of a handler in the render phase.Called after a
HandlerAdapteractually invoked the handler, but before theDispatcherPortletrenders the view. Can thus expose additional model objects to the view via the givenModelAndView.DispatcherPortletprocesses a handler in an execution chain, consisting of any number of interceptors, with the handler itself at the end. With this method, each interceptor can post-process an execution, getting applied in inverse order of the execution chain.- Specified by:
postHandleRenderin interfaceHandlerInterceptor- Parameters:
request- current portlet render requestresponse- current portlet render responsehandler- chosen handler to execute, for type and/or instance examinationmodelAndView- theModelAndViewthat the handler returned (can also benull)- Throws:
Exception- in case of errors
afterRenderCompletion
public void afterRenderCompletion(RenderRequest request, RenderResponse response, Object handler, Exception ex) throws Exception
Description copied from interface:HandlerInterceptorCallback after completion of request processing, that is, after rendering the view. Will be called on any outcome of handler execution, thus allowing for proper resource cleanup.Note: Will only be called if this interceptor's
HandlerInterceptor.preHandleRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object)method has successfully completed and returnedtrue!- Specified by:
afterRenderCompletionin interfaceHandlerInterceptor- Parameters:
request- current portlet render requestresponse- current portlet render responsehandler- chosen handler to execute, for type and/or instance examinationex- exception thrown on handler execution, if any- Throws:
Exception- in case of errors
preHandleResource
public boolean preHandleResource(ResourceRequest request, ResourceResponse response, Object handler) throws Exception
Description copied from interface:HandlerInterceptorIntercept the execution of a handler in the render phase.Called after a HandlerMapping determines an appropriate handler object to handle a
RenderRequest, but before said HandlerAdapter actually invokes the handler.DispatcherPortletprocesses a handler in an execution chain, consisting of any number of interceptors, with the handler itself at the end. With this method, each interceptor can decide to abort the execution chain, typically throwing an exception or writing a custom response.- Specified by:
preHandleResourcein interfaceHandlerInterceptor- Parameters:
request- current portlet render requestresponse- current portlet render responsehandler- chosen handler to execute, for type and/or instance evaluation- Returns:
trueif the execution chain should proceed with the next interceptor or the handler itself. Else,DispatcherPortletassumes that this interceptor has already dealt with the response itself- Throws:
Exception- in case of errors
postHandleResource
public void postHandleResource(ResourceRequest request, ResourceResponse response, Object handler, ModelAndView modelAndView) throws Exception
Description copied from interface:HandlerInterceptorIntercept the execution of a handler in the render phase.Called after a
HandlerAdapteractually invoked the handler, but before theDispatcherPortletrenders the view. Can thus expose additional model objects to the view via the givenModelAndView.DispatcherPortletprocesses a handler in an execution chain, consisting of any number of interceptors, with the handler itself at the end. With this method, each interceptor can post-process an execution, getting applied in inverse order of the execution chain.- Specified by:
postHandleResourcein interfaceHandlerInterceptor- Parameters:
request- current portlet render requestresponse- current portlet render responsehandler- chosen handler to execute, for type and/or instance examinationmodelAndView- theModelAndViewthat the handler returned (can also benull)- Throws:
Exception- in case of errors
afterResourceCompletion
public void afterResourceCompletion(ResourceRequest request, ResourceResponse response, Object handler, Exception ex) throws Exception
Description copied from interface:HandlerInterceptorCallback after completion of request processing, that is, after rendering the view. Will be called on any outcome of handler execution, thus allowing for proper resource cleanup.Note: Will only be called if this interceptor's
HandlerInterceptor.preHandleRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object)method has successfully completed and returnedtrue!- Specified by:
afterResourceCompletionin interfaceHandlerInterceptor- Parameters:
request- current portlet render requestresponse- current portlet render responsehandler- chosen handler to execute, for type and/or instance examinationex- exception thrown on handler execution, if any- Throws:
Exception- in case of errors
preHandleEvent
public boolean preHandleEvent(EventRequest request, EventResponse response, Object handler) throws Exception
Description copied from interface:HandlerInterceptorIntercept the execution of a handler in the action phase.Called after a HandlerMapping determines an appropriate handler object to handle an
ActionRequest, but before said HandlerAdapter actually invokes the handler.DispatcherPortletprocesses a handler in an execution chain, consisting of any number of interceptors, with the handler itself at the end. With this method, each interceptor can decide to abort the execution chain, typically throwing an exception or writing a custom response.- Specified by:
preHandleEventin interfaceHandlerInterceptor- Parameters:
request- current portlet action requestresponse- current portlet action responsehandler- chosen handler to execute, for type and/or instance evaluation- Returns:
trueif the execution chain should proceed with the next interceptor or the handler itself. Else,DispatcherPortletassumes that this interceptor has already dealt with the response itself- Throws:
Exception- in case of errors
afterEventCompletion
public void afterEventCompletion(EventRequest request, EventResponse response, Object handler, Exception ex) throws Exception
Description copied from interface:HandlerInterceptorCallback after completion of request processing in the action phase, that is, after rendering the view. Will be called on any outcome of handler execution, thus allowing for proper resource cleanup.Note: Will only be called if this interceptor's
HandlerInterceptor.preHandleAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse, Object)method has successfully completed and returnedtrue!- Specified by:
afterEventCompletionin interfaceHandlerInterceptor- Parameters:
request- current portlet action requestresponse- current portlet action responsehandler- chosen handler to execute, for type and/or instance examinationex- exception thrown on handler execution, if any (only included as additional context information for the case where a handler threw an exception; request execution may have failed even when this argument isnull)- Throws:
Exception- in case of errors