# Class ApplicationFilterChain

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

All Implemented Interfaces:
  `FilterChain`

public final class ApplicationFilterChain extends Object implements FilterChain
Implementation of `jakarta.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: `jakarta.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