KickJava   Java API By Example, From Geeks To Geeks.

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


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  * ServletInputStream that converts all characters to upper case.
28  * WARNING: This will only work on 8-bit character sets!
29  *
30  * @author Craig R. McClanahan
31  * @version $Revision: 1.2 $ $Date: 2004/02/27 14:58:57 $
32  */

33
34 public class UpperCaseInputStream extends ServletInputStream {
35
36     ServletInputStream stream = null;
37
38     public UpperCaseInputStream(ServletInputStream stream)
39       throws IOException {
40         super();
41         this.stream = stream;
42     }
43
44
45     public int read() throws IOException {
46         int c = stream.read();
47         if (c < 0)
48             return (c);
49         char ch = (char) c;
50         if (Character.isLowerCase(ch))
51             ch = Character.toUpperCase(ch);
52         return ((int) ch);
53     }
54
55     public int read(byte buf[], int off, int len) throws IOException {
56         int n = 0;
57         for (int i = off; i < (off + len); i++) {
58             int c = stream.read();
59             if (c < 0) {
60                 if (n == 0)
61                     return (-1);
62                 break;
63             }
64             char ch = (char) c;
65             if (Character.isLowerCase(ch))
66                 ch = Character.toUpperCase(ch);
67             buf[i] = (byte) ch;
68             n++;
69         }
70         return (n);
71     }
72
73     public int read(byte buf[]) throws IOException {
74         return (read(buf, 0, buf.length));
75     }
76
77     public int readLine(byte buf[], int off, int len) throws IOException {
78         int n = 0;
79         for (int i = off; i < (off + len); i++) {
80             int c = stream.read();
81             if (c < 0) {
82                 if (n == 0)
83                     return (-1);
84                 break;
85             }
86             char ch = (char) c;
87             if (Character.isLowerCase(ch))
88                 ch = Character.toUpperCase(ch);
89             buf[i] = (byte) ch;
90             n++;
91             if (ch == '\n')
92                 break;
93         }
94         return (n);
95     }
96
97 }
98
99
Popular Tags