KickJava   Java API By Example, From Geeks To Geeks.

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


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.*;
13
14 /**
15  * You need only to implement transform(Reader, Writer) you have the simplest
16  * kind of tranformer (which is 'streamable'). The name becoming your class name.
17  *
18  * @author Michiel Meeuwissen
19  * @since MMBase-1.7
20  */

21
22 public abstract class ReaderTransformer implements CharTransformer {
23
24     // javadoc inherited
25
public abstract Writer transform(Reader r, Writer w);
26
27     // javadoc inherited
28
public Writer transformBack(Reader r, Writer w) {
29         throw new UnsupportedOperationException JavaDoc("transformBack is not supported for this transformer");
30     }
31         
32     // javadoc inherited
33
public final Writer transformBack(Reader r) {
34         return transformBack(r, new StringWriter());
35     }
36
37     // javadoc inherited
38
public final Writer transform(Reader r) {
39         return transform(r, new StringWriter());
40     }
41
42     // javadoc inherited
43
public String JavaDoc transform(String JavaDoc r) {
44         if (r == null) return null;
45         Writer sw = transform(new StringReader(r));
46         return sw.toString();
47     }
48
49     // javadoc inherited
50
public String JavaDoc transformBack(String JavaDoc r) {
51         if (r == null) return null;
52         Writer sw = transformBack(new StringReader(r));
53         return sw.toString();
54     }
55 }
56
Popular Tags