Class 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 renderPhaseOnly flag is explicitly set to false. 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 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 wrap
        renderPhaseOnly - 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: HandlerInterceptor
        Intercept 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.

        DispatcherPortlet processes 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:
        preHandleAction in interface HandlerInterceptor
        Parameters:
        request - current portlet action request
        response - current portlet action response
        handler - chosen handler to execute, for type and/or instance evaluation
        Returns:
        true if the execution chain should proceed with the next interceptor or the handler itself. Else, DispatcherPortlet assumes that this interceptor has already dealt with the response itself
        Throws:
        Exception - in case of errors
      • preHandleRender

        public boolean preHandleRender​(RenderRequest request,
                                       RenderResponse response,
                                       Object handler)
                                throws Exception
        Description copied from interface: HandlerInterceptor
        Intercept 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.

        DispatcherPortlet processes 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:
        preHandleRender in interface HandlerInterceptor
        Parameters:
        request - current portlet render request
        response - current portlet render response
        handler - chosen handler to execute, for type and/or instance evaluation
        Returns:
        true if the execution chain should proceed with the next interceptor or the handler itself. Else, DispatcherPortlet assumes 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: HandlerInterceptor
        Intercept the execution of a handler in the render phase.

        Called after a HandlerAdapter actually invoked the handler, but before the DispatcherPortlet renders the view. Can thus expose additional model objects to the view via the given ModelAndView.

        DispatcherPortlet processes 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:
        postHandleRender in interface HandlerInterceptor
        Parameters:
        request - current portlet render request
        response - current portlet render response
        handler - chosen handler to execute, for type and/or instance examination
        modelAndView - the ModelAndView that the handler returned (can also be null)
        Throws:
        Exception - in case of errors
      • preHandleResource

        public boolean preHandleResource​(ResourceRequest request,
                                         ResourceResponse response,
                                         Object handler)
                                  throws Exception
        Description copied from interface: HandlerInterceptor
        Intercept 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.

        DispatcherPortlet processes 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:
        preHandleResource in interface HandlerInterceptor
        Parameters:
        request - current portlet render request
        response - current portlet render response
        handler - chosen handler to execute, for type and/or instance evaluation
        Returns:
        true if the execution chain should proceed with the next interceptor or the handler itself. Else, DispatcherPortlet assumes 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: HandlerInterceptor
        Intercept the execution of a handler in the render phase.

        Called after a HandlerAdapter actually invoked the handler, but before the DispatcherPortlet renders the view. Can thus expose additional model objects to the view via the given ModelAndView.

        DispatcherPortlet processes 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:
        postHandleResource in interface HandlerInterceptor
        Parameters:
        request - current portlet render request
        response - current portlet render response
        handler - chosen handler to execute, for type and/or instance examination
        modelAndView - the ModelAndView that the handler returned (can also be null)
        Throws:
        Exception - in case of errors
      • preHandleEvent

        public boolean preHandleEvent​(EventRequest request,
                                      EventResponse response,
                                      Object handler)
                               throws Exception
        Description copied from interface: HandlerInterceptor
        Intercept 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.

        DispatcherPortlet processes 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:
        preHandleEvent in interface HandlerInterceptor
        Parameters:
        request - current portlet action request
        response - current portlet action response
        handler - chosen handler to execute, for type and/or instance evaluation
        Returns:
        true if the execution chain should proceed with the next interceptor or the handler itself. Else, DispatcherPortlet assumes that this interceptor has already dealt with the response itself
        Throws:
        Exception - in case of errors