# Class Filter.Chain

java.lang.Object
com.sun.net.httpserver.Filter.Chain

Enclosing class:
  `Filter`

public static class Filter.Chain extends Object
A chain of filters associated with a `HttpServer`. Each filter in the chain is given one of these so it can invoke the next filter in the chain.

Since:
  1.6

## Constructor Summary

Constructors
Constructor
Description
`Chain(List<Filter> filters, HttpHandler handler)`
Creates a `Chain` instance with given filters and handler.

## Method Summary

Modifier and Type
Method
Description
`void`
`doFilter(HttpExchange exchange)`
Calls the next filter in the chain, or else the users exchange handler, if this is the final filter in the chain.

### Methods declared in class Object

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

## Constructor Details

### Chain

public Chain(List<Filter> filters, HttpHandler handler)
Creates a `Chain` instance with given filters and handler.

Parameters:
  `filters` - the filters that make up the `Chain`
  `handler` - the `HttpHandler` that will be invoked after the final `Filter` has finished

## Method Details

### doFilter

public void doFilter(HttpExchange exchange) throws IOException
Calls the next filter in the chain, or else the users exchange handler, if this is the final filter in the chain. The `Filter` may decide to terminate the chain, by not calling this method. In this case, the filter must send the response to the request, because the application's exchange handler will not be invoked.

Parameters:
  `exchange` - the `HttpExchange`
Throws:
  `IOException` - if an I/O error occurs
  `NullPointerException` - if exchange is `null`