org.apache.shiro.web.servlet
Class AbstractFilter

java.lang.Object
  extended by org.apache.shiro.web.servlet.ServletContextSupport
      extended by org.apache.shiro.web.servlet.AbstractFilter
All Implemented Interfaces:
Filter
Direct Known Subclasses:
NameableFilter

public abstract class AbstractFilter
extends ServletContextSupport
implements Filter

Base abstract Filter simplifying Filter initialization and access to init parameters. Subclass initialization logic should be performed by overriding the onFilterConfigSet() template method. FilterChain execution logic (the Filter.doFilter(javax.servlet.ServletRequest, javax.servlet.ServletResponse, javax.servlet.FilterChain) method is left to subclasses.

Since:
1.0

Field Summary
protected  FilterConfig filterConfig
          FilterConfig provided by the Servlet container at start-up.
 
Constructor Summary
AbstractFilter()
           
 
Method Summary
 void destroy()
          Default no-op implementation that can be overridden by subclasses for custom cleanup behavior.
 FilterConfig getFilterConfig()
          Returns the servlet container specified FilterConfig instance provided at startup.
protected  String getInitParam(String paramName)
          Returns the value for the named init-param, or null if there was no init-param specified by that name.
 void init(FilterConfig filterConfig)
          Sets the filter's filterConfig and then immediately calls onFilterConfigSet() to trigger any processing a subclass might wish to perform.
protected  void onFilterConfigSet()
          Template method to be overridden by subclasses to perform initialization logic at start-up.
 void setFilterConfig(FilterConfig filterConfig)
          Sets the FilterConfig and the ServletContext as attributes of this class for use by subclasses.
 
Methods inherited from class org.apache.shiro.web.servlet.ServletContextSupport
getContextAttribute, getContextInitParam, getServletContext, removeContextAttribute, setContextAttribute, setServletContext, toString, toStringBuilder
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.servlet.Filter
doFilter
 

Field Detail

filterConfig

protected FilterConfig filterConfig
FilterConfig provided by the Servlet container at start-up.

Constructor Detail

AbstractFilter

public AbstractFilter()
Method Detail

getFilterConfig

public FilterConfig getFilterConfig()
Returns the servlet container specified FilterConfig instance provided at startup.

Returns:
the servlet container specified FilterConfig instance provided at start-up.

setFilterConfig

public void setFilterConfig(FilterConfig filterConfig)
Sets the FilterConfig and the ServletContext as attributes of this class for use by subclasses. That is:
 this.filterConfig = filterConfig;
 setServletContext(filterConfig.getServletContext());

Parameters:
filterConfig - the FilterConfig instance provided by the Servlet container at start-up.

getInitParam

protected String getInitParam(String paramName)
Returns the value for the named init-param, or null if there was no init-param specified by that name.

Parameters:
paramName - the name of the init-param
Returns:
the value for the named init-param, or null if there was no init-param specified by that name.

init

public final void init(FilterConfig filterConfig)
                throws ServletException
Sets the filter's filterConfig and then immediately calls onFilterConfigSet() to trigger any processing a subclass might wish to perform.

Specified by:
init in interface Filter
Parameters:
filterConfig - the servlet container supplied FilterConfig instance.
Throws:
ServletException - if onFilterConfigSet() throws an Exception.

onFilterConfigSet

protected void onFilterConfigSet()
                          throws Exception
Template method to be overridden by subclasses to perform initialization logic at start-up. The ServletContext and FilterConfig will be accessible (and non-null) at the time this method is invoked via the getServletContext() and getFilterConfig() methods respectively.

init-param values may be conveniently obtained via the getInitParam(String) method.

Throws:
Exception - if the subclass has an error upon initialization.

destroy

public void destroy()
Default no-op implementation that can be overridden by subclasses for custom cleanup behavior.

Specified by:
destroy in interface Filter


Copyright © 2004-2014 The Apache Software Foundation. All Rights Reserved.