Package org.apache.catalina.core

## Class ApplicationFilterChain

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

All Implemented Interfaces:
  `FilterChain`

    public final class ApplicationFilterChain
    extends java.lang.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
`static int` `INCREMENT`

### Constructor Summary

Constructors
`ApplicationFilterChain()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`void` `doFilter​(ServletRequest request, ServletResponse response)` Invoke the next filter in this chain, passing the specified request and response.
`void` `findNonAsyncFilters​(java.util.Set<java.lang.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 Detail

#### INCREMENT

    public static final int INCREMENT

See Also:
  Constant Field Values

### Constructor Detail

#### ApplicationFilterChain

    public ApplicationFilterChain()

### Method Detail

#### doFilter

    public void doFilter​(ServletRequest request,
                         ServletResponse response)
                  throws java.io.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:
  `java.io.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​(java.util.Set<java.lang.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