1 /*
2  *  Licensed to the Apache Software Foundation (ASF) under one or more
3  *  contributor license agreements.  See the NOTICE file distributed with
4  *  this work for additional information regarding copyright ownership.
5  *  The ASF licenses this file to You under the Apache License, Version 2.0
6  *  (the "License"); you may not use this file except in compliance with
7  *  the License.  You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  */

17 package org.apache.coyote.http11;
18
19 import org.apache.coyote.Response;
20
21 /**
22  * Output filter.
23  *
24  * @author Remy Maucherat
25  */

26 public interface OutputFilter extends HttpOutputBuffer {
27
28     /**
29      * Some filters need additional parameters from the response. All the
30      * necessary reading can occur in that method, as this method is called
31      * after the response header processing is complete.
32      *
33      * @param response The response to associate with this OutputFilter
34      */

35     public void setResponse(Response response);
36
37
38     /**
39      * Make the filter ready to process the next request.
40      */

41     public void recycle();
42
43
44     /**
45      * Set the next buffer in the filter pipeline.
46      *
47      * @param buffer The next buffer instance
48      */

49     public void setBuffer(HttpOutputBuffer buffer);
50 }
51