source: branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/pal/io/OutputTarget.java @ 1573

Last change on this file since 1573 was 1573, checked in by rkrimmel, 10 years ago

Now really adding PAL Library

File size: 1.8 KB
Line 
1// OutputTarget.java
2//
3// (c) 1999-2001 PAL Development Core Team
4//
5// This package may be distributed under the
6// terms of the Lesser GNU General Public License (LGPL)
7
8
9package de.ugoe.cs.autoquest.tasktrees.alignment.pal.io;
10
11import java.io.BufferedWriter;
12import java.io.FileWriter;
13import java.io.IOException;
14import java.io.PrintWriter;
15import java.io.StringWriter;
16
17
18
19
20/**
21 * convenience class to create output streams linked to
22 * files, stdout, and strings
23 *
24 * @version $Id: OutputTarget.java,v 1.3 2001/07/13 14:39:13 korbinian Exp $
25 *
26 * @author Korbinian Strimmer
27 */
28public class OutputTarget extends PrintWriter
29{
30        //
31        // Public stuff
32        //
33
34        /**
35         * open file for writing
36         *
37         * @param name file name
38         *
39         * @return output stream
40         */
41        public static OutputTarget openFile(String name)
42                throws IOException
43        {
44                return new OutputTarget(
45                        new PrintWriter(
46                        new BufferedWriter(
47                        new FileWriter(name))));
48        }
49       
50        /**
51         * open standard out
52         *
53         * @return output stream
54         */             
55        public static OutputTarget openStdOut()
56        {
57                return new OutputTarget(new PrintWriter(System.out));
58        }
59
60        /**
61         * "open" string to write into
62         *
63         * @return output stream
64         */
65        public static OutputTarget openString()
66        {
67                StringWriter sw = new StringWriter();
68
69                return new OutputTarget(new PrintWriter(sw), sw);
70        }
71       
72        /**
73         * get string corresponding to current stream created by openString()
74         *
75         * @return string
76         */
77        public String getString()
78        {
79                if (stringWriter == null)
80                {
81                        return "";
82                }
83                else
84                {
85                        return stringWriter.toString();
86                }
87        }
88       
89       
90        //
91        // Private stuff
92        //
93       
94        private StringWriter stringWriter;
95       
96        // Private constructor
97        private OutputTarget(PrintWriter out)
98        {
99                super(out);
100        }
101
102        private OutputTarget(PrintWriter out, StringWriter sw)
103        {
104                super(out);
105                stringWriter = sw;
106        }
107}
Note: See TracBrowser for help on using the repository browser.