public class WebRequestHandlerInterceptorAdapter extends java.lang.Object implements HandlerInterceptor
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.
WebRequestInterceptor
,
HandlerInterceptor
Modifier and Type | Field and Description |
---|---|
private boolean |
renderPhaseOnly |
private WebRequestInterceptor |
requestInterceptor |
Constructor and 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.
|
Modifier and Type | Method and Description |
---|---|
void |
afterActionCompletion(ActionRequest request,
ActionResponse response,
java.lang.Object handler,
java.lang.Exception ex)
Callback after completion of request processing in the action phase, that is,
after rendering the view.
|
void |
afterEventCompletion(EventRequest request,
EventResponse response,
java.lang.Object handler,
java.lang.Exception ex)
Callback after completion of request processing in the action phase, that is,
after rendering the view.
|
void |
afterRenderCompletion(RenderRequest request,
RenderResponse response,
java.lang.Object handler,
java.lang.Exception ex)
Callback after completion of request processing, that is, after rendering
the view.
|
void |
afterResourceCompletion(ResourceRequest request,
ResourceResponse response,
java.lang.Object handler,
java.lang.Exception ex)
Callback after completion of request processing, that is, after rendering
the view.
|
void |
postHandleRender(RenderRequest request,
RenderResponse response,
java.lang.Object handler,
ModelAndView modelAndView)
Intercept the execution of a handler in the render phase.
|
void |
postHandleResource(ResourceRequest request,
ResourceResponse response,
java.lang.Object handler,
ModelAndView modelAndView)
Intercept the execution of a handler in the render phase.
|
boolean |
preHandleAction(ActionRequest request,
ActionResponse response,
java.lang.Object handler)
Intercept the execution of a handler in the action phase.
|
boolean |
preHandleEvent(EventRequest request,
EventResponse response,
java.lang.Object handler)
Intercept the execution of a handler in the action phase.
|
boolean |
preHandleRender(RenderRequest request,
RenderResponse response,
java.lang.Object handler)
Intercept the execution of a handler in the render phase.
|
boolean |
preHandleResource(ResourceRequest request,
ResourceResponse response,
java.lang.Object handler)
Intercept the execution of a handler in the render phase.
|
private final WebRequestInterceptor requestInterceptor
private final boolean renderPhaseOnly
public WebRequestHandlerInterceptorAdapter(WebRequestInterceptor requestInterceptor)
requestInterceptor
- the WebRequestInterceptor to wrappublic WebRequestHandlerInterceptorAdapter(WebRequestInterceptor requestInterceptor, boolean renderPhaseOnly)
requestInterceptor
- the WebRequestInterceptor to wraprenderPhaseOnly
- whether to apply to the render phase only (true
)
or to the action phase as well (false
)public boolean preHandleAction(ActionRequest request, ActionResponse response, java.lang.Object handler) throws java.lang.Exception
HandlerInterceptor
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.
preHandleAction
in interface HandlerInterceptor
request
- current portlet action requestresponse
- current portlet action responsehandler
- chosen handler to execute, for type and/or instance evaluationtrue
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 itselfjava.lang.Exception
- in case of errorspublic void afterActionCompletion(ActionRequest request, ActionResponse response, java.lang.Object handler, java.lang.Exception ex) throws java.lang.Exception
HandlerInterceptor
Note: Will only be called if this interceptor's
#preHandleAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse, Object)
method has successfully completed and returned true
!
afterActionCompletion
in interface HandlerInterceptor
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 is null
)java.lang.Exception
- in case of errorspublic boolean preHandleRender(RenderRequest request, RenderResponse response, java.lang.Object handler) throws java.lang.Exception
HandlerInterceptor
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.
preHandleRender
in interface HandlerInterceptor
request
- current portlet render requestresponse
- current portlet render responsehandler
- chosen handler to execute, for type and/or instance evaluationtrue
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 itselfjava.lang.Exception
- in case of errorspublic void postHandleRender(RenderRequest request, RenderResponse response, java.lang.Object handler, ModelAndView modelAndView) throws java.lang.Exception
HandlerInterceptor
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.
postHandleRender
in interface HandlerInterceptor
request
- current portlet render requestresponse
- current portlet render responsehandler
- chosen handler to execute, for type and/or instance examinationmodelAndView
- the ModelAndView
that the handler returned
(can also be null
)java.lang.Exception
- in case of errorspublic void afterRenderCompletion(RenderRequest request, RenderResponse response, java.lang.Object handler, java.lang.Exception ex) throws java.lang.Exception
HandlerInterceptor
Note: Will only be called if this interceptor's
#preHandleRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object)
method has successfully completed and returned true
!
afterRenderCompletion
in interface HandlerInterceptor
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 anyjava.lang.Exception
- in case of errorspublic boolean preHandleResource(ResourceRequest request, ResourceResponse response, java.lang.Object handler) throws java.lang.Exception
HandlerInterceptor
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.
preHandleResource
in interface HandlerInterceptor
request
- current portlet render requestresponse
- current portlet render responsehandler
- chosen handler to execute, for type and/or instance evaluationtrue
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 itselfjava.lang.Exception
- in case of errorspublic void postHandleResource(ResourceRequest request, ResourceResponse response, java.lang.Object handler, ModelAndView modelAndView) throws java.lang.Exception
HandlerInterceptor
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.
postHandleResource
in interface HandlerInterceptor
request
- current portlet render requestresponse
- current portlet render responsehandler
- chosen handler to execute, for type and/or instance examinationmodelAndView
- the ModelAndView
that the handler returned
(can also be null
)java.lang.Exception
- in case of errorspublic void afterResourceCompletion(ResourceRequest request, ResourceResponse response, java.lang.Object handler, java.lang.Exception ex) throws java.lang.Exception
HandlerInterceptor
Note: Will only be called if this interceptor's
#preHandleRender(javax.portlet.RenderRequest, javax.portlet.RenderResponse, Object)
method has successfully completed and returned true
!
afterResourceCompletion
in interface HandlerInterceptor
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 anyjava.lang.Exception
- in case of errorspublic boolean preHandleEvent(EventRequest request, EventResponse response, java.lang.Object handler) throws java.lang.Exception
HandlerInterceptor
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.
preHandleEvent
in interface HandlerInterceptor
request
- current portlet action requestresponse
- current portlet action responsehandler
- chosen handler to execute, for type and/or instance evaluationtrue
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 itselfjava.lang.Exception
- in case of errorspublic void afterEventCompletion(EventRequest request, EventResponse response, java.lang.Object handler, java.lang.Exception ex) throws java.lang.Exception
HandlerInterceptor
Note: Will only be called if this interceptor's
#preHandleAction(javax.portlet.ActionRequest, javax.portlet.ActionResponse, Object)
method has successfully completed and returned true
!
afterEventCompletion
in interface HandlerInterceptor
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 is null
)java.lang.Exception
- in case of errors