[Mulgara-svn] r1977 - trunk/src/jar/util/java/org/mulgara/util
pag at mulgara.org
pag at mulgara.org
Fri Oct 1 02:30:32 UTC 2010
Author: pag
Date: 2010-10-01 02:30:31 +0000 (Fri, 01 Oct 2010)
New Revision: 1977
Added:
trunk/src/jar/util/java/org/mulgara/util/TeePrintWriter.java
Log:
A debugging utility for sending a PrintWriter in two directions
Added: trunk/src/jar/util/java/org/mulgara/util/TeePrintWriter.java
===================================================================
--- trunk/src/jar/util/java/org/mulgara/util/TeePrintWriter.java (rev 0)
+++ trunk/src/jar/util/java/org/mulgara/util/TeePrintWriter.java 2010-10-01 02:30:31 UTC (rev 1977)
@@ -0,0 +1,416 @@
+/*
+ * Copyright 2010 Paul Gearon.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.mulgara.util;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+
+/**
+ * A Tee adapter between this print writer and another.
+ */
+public class TeePrintWriter extends PrintWriter {
+
+ /** The other side of the Tee adapter */
+ private final PrintWriter other;
+
+ /**
+ * @param out
+ */
+ public TeePrintWriter(Writer out, PrintWriter other) {
+ super(out);
+ this.other = other;
+ }
+
+ /**
+ * @param out
+ */
+ public TeePrintWriter(OutputStream out, PrintWriter other) {
+ super(out);
+ this.other = other;
+ }
+
+ /**
+ * @param fileName
+ * @throws FileNotFoundException
+ */
+ public TeePrintWriter(String fileName, PrintWriter other) throws FileNotFoundException {
+ super(fileName);
+ this.other = other;
+ }
+
+ /**
+ * @param file
+ * @throws FileNotFoundException
+ */
+ public TeePrintWriter(File file, PrintWriter other) throws FileNotFoundException {
+ super(file);
+ this.other = other;
+ }
+
+ /**
+ * @param out
+ * @param autoFlush
+ */
+ public TeePrintWriter(Writer out, PrintWriter other, boolean autoFlush) {
+ super(out, autoFlush);
+ this.other = other;
+ }
+
+ /**
+ * @param out
+ * @param autoFlush
+ */
+ public TeePrintWriter(OutputStream out, PrintWriter other, boolean autoFlush) {
+ super(out, autoFlush);
+ this.other = other;
+ }
+
+ /**
+ * @param fileName
+ * @param csn
+ * @throws FileNotFoundException
+ * @throws UnsupportedEncodingException
+ */
+ public TeePrintWriter(String fileName, String csn, PrintWriter other)
+ throws FileNotFoundException, UnsupportedEncodingException {
+ super(fileName, csn);
+ this.other = other;
+ }
+
+ /**
+ * @param file
+ * @param csn
+ * @throws FileNotFoundException
+ * @throws UnsupportedEncodingException
+ */
+ public TeePrintWriter(File file, String csn, PrintWriter other) throws FileNotFoundException,
+ UnsupportedEncodingException {
+ super(file, csn);
+ this.other = other;
+ }
+
+ /**
+ * @param out
+ */
+ public TeePrintWriter(Writer out, OutputStream o) {
+ this(out, new PrintWriter(o));
+ }
+
+ /**
+ * @param out
+ */
+ public TeePrintWriter(OutputStream out, OutputStream o) {
+ this(out, new PrintWriter(o));
+ }
+
+ /**
+ * @param fileName
+ * @throws FileNotFoundException
+ */
+ public TeePrintWriter(String fileName, OutputStream o) throws FileNotFoundException {
+ this(fileName, new PrintWriter(o));
+ }
+
+ /**
+ * @param file
+ * @throws FileNotFoundException
+ */
+ public TeePrintWriter(File file, OutputStream o) throws FileNotFoundException {
+ this(file, new PrintWriter(o));
+ }
+
+ /**
+ * @param out
+ * @param autoFlush
+ */
+ public TeePrintWriter(Writer out, OutputStream o, boolean autoFlush) {
+ this(out, new PrintWriter(o), autoFlush);
+ }
+
+ /**
+ * @param out
+ * @param autoFlush
+ */
+ public TeePrintWriter(OutputStream out, OutputStream o, boolean autoFlush) {
+ this(out, new PrintWriter(o), autoFlush);
+ }
+
+ /**
+ * @param fileName
+ * @param csn
+ * @throws FileNotFoundException
+ * @throws UnsupportedEncodingException
+ */
+ public TeePrintWriter(String fileName, String csn, OutputStream o)
+ throws FileNotFoundException, UnsupportedEncodingException {
+ this(fileName, csn, new PrintWriter(o));
+ }
+
+ /**
+ * @param file
+ * @param csn
+ * @throws FileNotFoundException
+ * @throws UnsupportedEncodingException
+ */
+ public TeePrintWriter(File file, String csn, OutputStream o) throws FileNotFoundException,
+ UnsupportedEncodingException {
+ this(file, csn, new PrintWriter(o));
+ }
+
+ /**
+ * @param out
+ */
+ public TeePrintWriter(Writer out, Writer o) {
+ this(out, new PrintWriter(o));
+ }
+
+ /**
+ * @param out
+ */
+ public TeePrintWriter(OutputStream out, Writer o) {
+ this(out, new PrintWriter(o));
+ }
+
+ /**
+ * @param fileName
+ * @throws FileNotFoundException
+ */
+ public TeePrintWriter(String fileName, Writer o) throws FileNotFoundException {
+ this(fileName, new PrintWriter(o));
+ }
+
+ /**
+ * @param file
+ * @throws FileNotFoundException
+ */
+ public TeePrintWriter(File file, Writer o) throws FileNotFoundException {
+ this(file, new PrintWriter(o));
+ }
+
+ /**
+ * @param out
+ * @param autoFlush
+ */
+ public TeePrintWriter(Writer out, Writer o, boolean autoFlush) {
+ this(out, new PrintWriter(o), autoFlush);
+ }
+
+ /**
+ * @param out
+ * @param autoFlush
+ */
+ public TeePrintWriter(OutputStream out, Writer o, boolean autoFlush) {
+ this(out, new PrintWriter(o), autoFlush);
+ }
+
+ /**
+ * @param fileName
+ * @param csn
+ * @throws FileNotFoundException
+ * @throws UnsupportedEncodingException
+ */
+ public TeePrintWriter(String fileName, String csn, Writer o)
+ throws FileNotFoundException, UnsupportedEncodingException {
+ this(fileName, csn, new PrintWriter(o));
+ }
+
+ /**
+ * @param file
+ * @param csn
+ * @throws FileNotFoundException
+ * @throws UnsupportedEncodingException
+ */
+ public TeePrintWriter(File file, String csn, Writer o) throws FileNotFoundException,
+ UnsupportedEncodingException {
+ this(file, csn, new PrintWriter(o));
+ }
+
+ /**
+ * @param out
+ */
+ public TeePrintWriter(Writer out, String o) throws FileNotFoundException {
+ this(out, new PrintWriter(o));
+ }
+
+ /**
+ * @param out
+ */
+ public TeePrintWriter(OutputStream out, String o) throws FileNotFoundException {
+ this(out, new PrintWriter(o));
+ }
+
+ /**
+ * @param fileName
+ * @throws FileNotFoundException
+ */
+ public TeePrintWriter(String fileName, String o) throws FileNotFoundException {
+ this(fileName, new PrintWriter(o));
+ }
+
+ /**
+ * @param file
+ * @throws FileNotFoundException
+ */
+ public TeePrintWriter(File file, String o) throws FileNotFoundException {
+ this(file, new PrintWriter(o));
+ }
+
+ /**
+ * @param out
+ * @param autoFlush
+ */
+ public TeePrintWriter(Writer out, String o, boolean autoFlush) throws FileNotFoundException {
+ this(out, new PrintWriter(o), autoFlush);
+ }
+
+ /**
+ * @param out
+ * @param autoFlush
+ */
+ public TeePrintWriter(OutputStream out, String o, boolean autoFlush) throws FileNotFoundException {
+ this(out, new PrintWriter(o), autoFlush);
+ }
+
+ /**
+ * @param fileName
+ * @param csn
+ * @throws FileNotFoundException
+ * @throws UnsupportedEncodingException
+ */
+ public TeePrintWriter(String fileName, String csn, String o)
+ throws FileNotFoundException, UnsupportedEncodingException {
+ this(fileName, csn, new PrintWriter(o));
+ }
+
+ /**
+ * @param file
+ * @param csn
+ * @throws FileNotFoundException
+ * @throws UnsupportedEncodingException
+ */
+ public TeePrintWriter(File file, String csn, String o) throws FileNotFoundException,
+ UnsupportedEncodingException {
+ this(file, csn, new PrintWriter(o));
+ }
+
+ /**
+ * @param out
+ */
+ public TeePrintWriter(Writer out, File o) throws FileNotFoundException {
+ this(out, new PrintWriter(o));
+ }
+
+ /**
+ * @param out
+ */
+ public TeePrintWriter(OutputStream out, File o) throws FileNotFoundException {
+ this(out, new PrintWriter(o));
+ }
+
+ /**
+ * @param fileName
+ * @throws FileNotFoundException
+ */
+ public TeePrintWriter(String fileName, File o) throws FileNotFoundException {
+ this(fileName, new PrintWriter(o));
+ }
+
+ /**
+ * @param file
+ * @throws FileNotFoundException
+ */
+ public TeePrintWriter(File file, File o) throws FileNotFoundException {
+ this(file, new PrintWriter(o));
+ }
+
+ /**
+ * @param out
+ * @param autoFlush
+ */
+ public TeePrintWriter(Writer out, File o, boolean autoFlush) throws FileNotFoundException {
+ this(out, new PrintWriter(o), autoFlush);
+ }
+
+ /**
+ * @param out
+ * @param autoFlush
+ */
+ public TeePrintWriter(OutputStream out, File o, boolean autoFlush) throws FileNotFoundException {
+ this(out, new PrintWriter(o), autoFlush);
+ }
+
+ /**
+ * @param fileName
+ * @param csn
+ * @throws FileNotFoundException
+ * @throws UnsupportedEncodingException
+ */
+ public TeePrintWriter(String fileName, String csn, File o)
+ throws FileNotFoundException, UnsupportedEncodingException {
+ this(fileName, csn, new PrintWriter(o));
+ }
+
+ /**
+ * @param file
+ * @param csn
+ * @throws FileNotFoundException
+ * @throws UnsupportedEncodingException
+ */
+ public TeePrintWriter(File file, String csn, File o) throws FileNotFoundException,
+ UnsupportedEncodingException {
+ this(file, csn, new PrintWriter(o));
+ }
+
+ public void flush() {
+ super.flush();
+ other.flush();
+ }
+
+ public void close() {
+ super.close();
+ other.close();
+ }
+
+ public boolean checkError() {
+ boolean first = super.checkError();
+ return other.checkError() && first;
+ }
+
+ public void write(int c) {
+ super.write(c);
+ other.write(c);
+ }
+
+ public void write(char[] c, int offset, int len) {
+ super.write(c, offset, len);
+ other.write(c, offset, len);
+ }
+
+ public void write(String s, int off, int len) {
+ super.write(s, off, len);
+ other.write(s, off, len);
+ }
+
+ public void println() {
+ super.println();
+ other.println();
+ }
+
+}
More information about the Mulgara-svn
mailing list