KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > fop > render > rtf > rtflib > testdocs > TestDocument


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
18 /* $Id: TestDocument.java 426576 2006-07-28 15:44:37Z jeremias $ */
19
20
21 /*
22  * This file is part of the RTF library of the FOP project, which was originally
23  * created by Bertrand Delacretaz <bdelacretaz@codeconsult.ch> and by other
24  * contributors to the jfor project (www.jfor.org), who agreed to donate jfor to
25  * the FOP project.
26  */

27
28 package org.apache.fop.render.rtf.rtflib.testdocs;
29
30 import java.util.Date JavaDoc;
31 import java.io.File JavaDoc;
32 import java.io.IOException JavaDoc;
33 import java.io.FileWriter JavaDoc;
34
35 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfDocumentArea;
36 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfSection;
37 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfFile;
38 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfParagraph;
39 //import org.apache.fop.render.rtf.rtflib.jfor.main.JForVersionInfo;
40

41 /** Base class for generating RTF documents used to test the jfor rtflib package.
42  * @author Bertrand Delacretaz bdelacretaz@codeconsult.ch
43  */

44
45 abstract class TestDocument {
46     private File JavaDoc output;
47
48     final void setOutputDir(File JavaDoc outDir)
49     throws IOException JavaDoc {
50         output = new File JavaDoc(outDir, getRtfFilename());
51     }
52
53     final String JavaDoc getRtfFilename() {
54         // use class name for output filename
55
final String JavaDoc name = getClass().getName();
56         final int pos = name.lastIndexOf('.');
57         return name.substring(pos + 1) + ".rtf";
58     }
59
60     final void generateOutput()
61     throws IOException JavaDoc {
62         debugMsg("Generating document " + output + "...");
63         final RtfFile f = new RtfFile(new FileWriter JavaDoc(output));
64         final RtfDocumentArea rda = f.startDocumentArea();
65         final RtfSection sect = rda.newSection();
66         addIntroComments(sect);
67         generateDocument(rda, sect);
68         f.flush();
69     }
70
71     protected abstract void generateDocument(RtfDocumentArea rda, RtfSection sect)
72             throws IOException JavaDoc;
73
74     void debugMsg(String JavaDoc msg) {
75         System.err.println(msg);
76     }
77
78     protected void addIntroComments(RtfSection sect) throws IOException JavaDoc {
79         final RtfParagraph para = sect.newParagraph();
80
81         para.newText("jfor RTF library test document.");
82         para.newLineBreak();
83 // para.newText(JForVersionInfo.getLongVersionInfo());
84
para.newLineBreak();
85         para.newText("generated by class " + getClass().getName());
86         para.newLineBreak();
87         para.newText("generated on " + new Date JavaDoc());
88         para.close();
89    }
90 }
Popular Tags