# Class ApplicationFilterChain

java.lang.Object
org.apache.catalina.core.ApplicationFilterChain

All Implemented Interfaces:
  `FilterChain`

public final class ApplicationFilterChain extends Object implements FilterChain
Implementation of `javax.servlet.FilterChain` used to manage the execution of a set of filters for a particular request. When the set of defined filters has all been executed, the next call to `doFilter()` will execute the servlet's `service()` method itself.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `INCREMENT`
  Default increment for filter array growth.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `doFilter(ServletRequest request, ServletResponse response)`
  Causes the next filter in the chain to be invoked, or if the calling filter is the last filter in the chain, causes the resource at the end of the chain to be invoked.
  `void`
  `findNonAsyncFilters(Set<String> result)`
  Identifies the Filters, if any, in this FilterChain that do not support async.
  `static ServletRequest`
  `getLastServicedRequest()`
  The last request passed to a servlet for servicing from the current thread.
  `static ServletResponse`
  `getLastServicedResponse()`
  The last response passed to a servlet for servicing from the current thread.

  ### Methods inherited from class Object

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

- ## Field Details

  - ### INCREMENT

    public static final int INCREMENT
    Default increment for filter array growth.
    See Also:
      - Constant Field Values

- ## Method Details

  - ### doFilter

    public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException
    Description copied from interface: `javax.servlet.FilterChain`
    Causes the next filter in the chain to be invoked, or if the calling filter is the last filter in the chain, causes the resource at the end of the chain to be invoked.
    Specified by:
      `doFilter` in interface `FilterChain`
    Parameters:
      `request` - the request to pass along the chain.
      `response` - the response to pass along the chain.
    Throws:
      `IOException` - if an I/O error occurs during the processing of the request
      `ServletException` - if the processing fails for any other reason

  - ### getLastServicedRequest

    public static ServletRequest getLastServicedRequest()
    The last request passed to a servlet for servicing from the current thread.
    Returns:
      The last request to be serviced.

  - ### getLastServicedResponse

    public static ServletResponse getLastServicedResponse()
    The last response passed to a servlet for servicing from the current thread.
    Returns:
      The last response to be serviced.

  - ### findNonAsyncFilters

    public void findNonAsyncFilters(Set<String> result)
    Identifies the Filters, if any, in this FilterChain that do not support async.
    Parameters:
      `result` - The Set to which the fully qualified class names of each Filter in this FilterChain that does not support async will be added