KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > mmbase > util > transformers > Sitestat


1 /*
2
3 This software is OSI Certified Open Source Software.
4 OSI Certified is a certification mark of the Open Source Initiative.
5
6 The license (Mozilla version 1.0) can be read at the MMBase site.
7 See http://www.MMBase.org/license
8
9 */

10 package org.mmbase.util.transformers;
11
12 import java.io.Reader JavaDoc;
13 import java.io.Writer JavaDoc;
14
15 import org.mmbase.util.logging.*;
16
17 /**
18  * Transforms the input to the characters which are alowed in Sitestat keys for
19  * page statistics, being: "A-Z, a-z, 0-9, - . _".
20  *
21  * @author Andre van Toly
22  * @since MMBase-1.7
23  * @version $Id: Sitestat.java,v 1.2 2005/06/29 12:34:08 andre Exp $
24  */

25
26 public class Sitestat extends ReaderTransformer implements CharTransformer {
27     private static Logger log = Logging.getLoggerInstance(Sitestat.class);
28     private static String JavaDoc alowedChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_-.";
29
30     public Writer JavaDoc transform(Reader JavaDoc r, Writer JavaDoc w) {
31         try {
32             log.debug("Starting transforming string for Sitestat");
33             while (true) {
34                 int c = r.read();
35                 if (c == -1) break;
36                 if (alowedChars.indexOf((char)c) > -1) {
37                     w.write((char)c);
38                 } else {
39                     w.write('_');
40                 }
41             }
42             log.debug("Finished transforming string for Sitestat");
43         } catch (java.io.IOException JavaDoc e) {
44             log.error(e.toString());
45         }
46         return w;
47     }
48
49
50     public String JavaDoc toString() {
51         return "sitestat";
52     }
53 }
54
Popular Tags