Package org.apache.catalina.core

# 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.

Author:
  Craig R. McClanahan

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `INCREMENT`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ApplicationFilterChain()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `doFilter(ServletRequest request, ServletResponse response)`
  Invoke the next filter in this chain, passing the specified request and response.
  `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 java.lang.Object

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

- ## Field Details

  - ### INCREMENT

    public static final int INCREMENT
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### ApplicationFilterChain

    public ApplicationFilterChain()

- ## Method Details

  - ### doFilter

    public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException
    Invoke the next filter in this chain, passing the specified request and response. If there are no more filters in this chain, invoke the `service()` method of the servlet itself.
    Specified by:
      `doFilter` in interface `FilterChain`
    Parameters:
      `request` - The servlet request we are processing
      `response` - The servlet response we are creating
    Throws:
      `IOException` - if an input/output error occurs
      `ServletException` - if a servlet exception occurs

  - ### 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