KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > tester > CharArrayResponse


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

16
17 package org.apache.tester;
18
19
20 import java.io.*;
21 import java.util.*;
22 import javax.servlet.*;
23 import javax.servlet.http.*;
24
25
26 /**
27  * HttpServletResponse wrapper that converts all output characters to
28  * upper case via an intermediate buffer.
29  *
30  * @author Craig R. McClanahan
31  * @version $Revision: 1.2 $ $Date: 2004/02/27 14:58:56 $
32  */

33
34 public class CharArrayResponse extends HttpServletResponseWrapper {
35
36
37     CharArrayWriterUpperCase writer = null;
38
39     public CharArrayResponse(HttpServletResponse response) {
40         super(response);
41         writer = new CharArrayWriterUpperCase();
42     }
43
44     public void flushBuffer() throws IOException {
45         int n = 0;
46         Reader reader = getReader();
47         PrintWriter writer = getResponse().getWriter();
48         while (true) {
49             int ch = reader.read();
50             if (ch < 0)
51                 break;
52             n++;
53             writer.print((char) ch);
54         }
55         writer.println("[" + n + "]");
56         this.writer.reset();
57     }
58
59     public Reader getReader() {
60         return (new CharArrayReader(writer.toCharArray()));
61     }
62
63     public PrintWriter getWriter() throws IOException {
64         return (new PrintWriter(writer, true));
65     }
66
67
68 }
69
70
71
72
Popular Tags