# Interface FilterRegistration

All Superinterfaces:
  `Registration`

All Known Subinterfaces:
  `FilterRegistration.Dynamic`

public interface FilterRegistration extends Registration
Interface through which a Filter may be further configured.

Since:
  Servlet 3.0

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static interface`
  `FilterRegistration.Dynamic`
  Interface through which a Filter registered via one of the addFilter methods on ServletContext may be further configured.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addMappingForServletNames(EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter, String... servletNames)`
  Add a mapping for this filter to one or more named Servlets.
  `void`
  `addMappingForUrlPatterns(EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter, String... urlPatterns)`
  Add a mapping for this filter to one or more URL patterns.
  `Collection<String>`
  `getServletNameMappings()`
  Gets the currently available servlet name mappings of the Filter represented by this FilterRegistration.
  `Collection<String>`
  `getUrlPatternMappings()`
  Gets the currently available URL pattern mappings of the Filter represented by this FilterRegistration.

  ### Methods inherited from interface Registration

  `getClassName, getInitParameter, getInitParameters, getName, setInitParameter, setInitParameters`

- ## Method Details

  - ### addMappingForServletNames

    void addMappingForServletNames(EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter, String... servletNames)
    Add a mapping for this filter to one or more named Servlets.
    Parameters:
      `dispatcherTypes` - The dispatch types to which this filter should apply
      `isMatchAfter` - Should this filter be applied after any mappings defined in the deployment descriptor (`true`) or before?
      `servletNames` - Requests mapped to these servlets will be processed by this filter
    Throws:
      `IllegalArgumentException` - if the list of servlet names is empty or null
      `IllegalStateException` - if the associated ServletContext has already been initialised

  - ### getServletNameMappings

    Collection<String> getServletNameMappings()
    Gets the currently available servlet name mappings of the Filter represented by this FilterRegistration.
    Returns:
      a Collection of the Servlet name mappings

  - ### addMappingForUrlPatterns

    void addMappingForUrlPatterns(EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter, String... urlPatterns)
    Add a mapping for this filter to one or more URL patterns.
    Parameters:
      `dispatcherTypes` - The dispatch types to which this filter should apply
      `isMatchAfter` - Should this filter be applied after any mappings defined in the deployment descriptor (`true`) or before?
      `urlPatterns` - The URL patterns to which this filter should be applied
    Throws:
      `IllegalArgumentException` - if the list of URL patterns is empty or null
      `IllegalStateException` - if the associated ServletContext has already been initialised

  - ### getUrlPatternMappings

    Collection<String> getUrlPatternMappings()
    Gets the currently available URL pattern mappings of the Filter represented by this FilterRegistration.
    Returns:
      a Collection of the URL pattern mappings