Top Description Methods
javax.portlet.filter

public Interface RenderFilter

extends PortletFilter
Imports
java.io.IOException, javax.portlet.RenderRequest, .RenderResponse, .PortletException

The RenderFilter is an object that performs filtering tasks on either the render request to a portlet, or on the render response from a portlet, or both.

Filters perform filtering in the doFilter method. Every Filter has access to a FilterConfig object from which it can obtain its initialization parameters, a reference to the PortletContext which it can use, for example, to load resources needed for filtering tasks.

Filters are configured in the portlet deployment descriptor of a portlet application.

Since
2.0

Method Summary

Modifier and TypeMethod and Description
public void
doFilter(RenderRequest
the current render request
request
,
RenderResponse
the current render response
response
,
FilterChain
the remaining filter chain
chain
)

The doFilter method of the Filter is called by the portlet container each time a render request/response pair is passed through the chain due to a client request for a portlet method at the end of the chain.

Inherited from javax.portlet.filter.PortletFilter:
destroyinit

Method Detail

doFilterback to summary
public void doFilter(RenderRequest request, RenderResponse response, FilterChain chain) throws IOException, PortletException

The doFilter method of the Filter is called by the portlet container each time a render request/response pair is passed through the chain due to a client request for a portlet method at the end of the chain.

The FilterChain passed in to this method allows the Filter to pass on the render request and response to the next component in the chain.

The doFilter method of a filter will typically be implemented following this or some subset of the following pattern:

  • The method examines the request information.
  • The method may wrap the request object passed in to its doFilter method with a customized implementation the request wrapper RenderRequestWrapper in order to modify request data.
  • The method may wrap the response object passed in to its doFilter method with a customized implementation of the response wrapper RenderResponseWrapper to modify response data.
  • The filter may invoke the next component in the filter chain. The next component may be another filter, or if the filter making the invocation is the last filter configured in the deployment descriptor for this chain, the next component is the target method of the portlet. The invocation of the next component is effected by calling the doFilter method on the FilterChain object, and passing in the request and response with which it was called or passing in wrapped versions it may have created. The filter chain's implementation of the doFilter method, provided by the portlet container, must locate the next component in the filter chain and invoke its doFilter method, passing in the appropriate request and response objects. Alternatively, the filter chain can block the request by not making the call to invoke the next component, leaving the filter responsible for filling out the response object.
  • After invocation of the next filter in the chain, the filter may examine the response data.
  • Alternatively, the filter may have thrown an exception to indicate an error in processing. If the filter throws an UnavailableException during its doFilter processing, the portlet container must not attempt continued processing down the filter chain. It may choose to retry the whole chain at a later time if the exception is not marked permanent.
  • When the last filter in the chain has been invoked, the next component accessed is the target method on the portlet at the end of the chain.
Parameters
request:RenderRequest

the current render request

response:RenderResponse

the current render response

chain:FilterChain

the remaining filter chain

Exceptions
IOException:
if an IO error occurred in the filter processing
PortletException:
if a portlet exception occurred in the filter processing