# Class FilterBase

java.lang.Object
org.apache.catalina.filters.FilterBase

All Implemented Interfaces:
  `Filter`

Direct Known Subclasses:
  `AddDefaultCharsetFilter, CsrfPreventionFilterBase, ExpiresFilter, HttpHeaderSecurityFilter, RateLimitFilter, RemoteCIDRFilter, RequestFilter, SetCharacterEncodingFilter`

public abstract class FilterBase extends Object implements Filter
Base class for filters that provides generic initialisation and a simple no-op destruction.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final StringManager`
  `sm`
  StringManager for internationalized strings.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FilterBase()`
  Default constructor for FilterBase.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected abstract Log`
  `getLogger()`
  Returns the logger for this filter.
  `void`
  `init(FilterConfig filterConfig)`
  Iterates over the configuration parameters and either logs a warning, or throws an exception for any parameter that does not have a matching setter in this filter.
  `protected boolean`
  `isConfigProblemFatal()`
  Determines if an exception when calling a setter or an unknown configuration attribute triggers the failure of this filter which in turn will prevent the web application from starting.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface Filter

  `destroy, doFilter`

- ## Field Details

  - ### sm

    protected static final StringManager sm
    StringManager for internationalized strings.

- ## Constructor Details

  - ### FilterBase

    public FilterBase()
    Default constructor for FilterBase.

- ## Method Details

  - ### getLogger

    protected abstract Log getLogger()
    Returns the logger for this filter.
    Returns:
      the logger

  - ### init

    public void init(FilterConfig filterConfig) throws ServletException
    Iterates over the configuration parameters and either logs a warning, or throws an exception for any parameter that does not have a matching setter in this filter.
    Specified by:
      `init` in interface `Filter`
    Parameters:
      `filterConfig` - The configuration information associated with the filter instance being initialised
    Throws:
      `ServletException` - if `isConfigProblemFatal()` returns `true` and a configured parameter does not have a matching setter

  - ### isConfigProblemFatal

    protected boolean isConfigProblemFatal()
    Determines if an exception when calling a setter or an unknown configuration attribute triggers the failure of this filter which in turn will prevent the web application from starting.
    Returns:
      `true` if a problem should trigger the failure of this filter, else `false`