The JSR-286 is made extensible so that Liferay portal can add features and functionalities in the frameworks on top of JSR-286 in a noninvasive and container-independent manner. Let's take a deeper look at the features for extending the JSR-286.
Filter functionality allows us to plug filters around any life cycle call of the portlet.
PortletFilter is the base interface for all portlet filters such as
ActionFilter, EventFilter, RenderFilter, and
ResourceFilter. It provides the
destroy life cycle methods for putting a portlet filter into and out of service as follows:
void init(FilterConfig filterConfig); void destroy();
All portlet filters such as
ActionFilter, EventFilter, RenderFilter