de.intarsys.tools.writer
Class ConsoleWriter

java.lang.Object
  extended by java.io.Writer
      extended by de.intarsys.tools.writer.ConsoleWriter
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable, java.lang.Appendable

public class ConsoleWriter
extends java.io.Writer

The console writer wraps System.out in a writer that is never closed accidently.


Field Summary
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
  ConsoleWriter()
          ConsoleWriter constructor comment.
protected ConsoleWriter(java.lang.Object lock)
          ConsoleWriter constructor comment.
 
Method Summary
 void basicClose()
          Close the stream, flushing it first.
 void close()
          Close the stream, flushing it first.
 void flush()
          Flush the stream.
 void write(char[] cbuf, int off, int len)
          Write a portion of an array of characters.
 
Methods inherited from class java.io.Writer
append, append, append, write, write, write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConsoleWriter

public ConsoleWriter()
ConsoleWriter constructor comment.


ConsoleWriter

protected ConsoleWriter(java.lang.Object lock)
ConsoleWriter constructor comment.

Parameters:
lock - java.lang.Object
Method Detail

basicClose

public void basicClose()
                throws java.io.IOException
Close the stream, flushing it first. Once a stream has been closed, further write() or flush() invocations will cause an IOException to be thrown. Closing a previously-closed stream, however, has no effect.

Throws:
java.io.IOException - If an I/O error occurs

close

public void close()
           throws java.io.IOException
Close the stream, flushing it first. Once a stream has been closed, further write() or flush() invocations will cause an IOException to be thrown. Closing a previously-closed stream, however, has no effect.

Specified by:
close in interface java.io.Closeable
Specified by:
close in class java.io.Writer
Throws:
java.io.IOException - If an I/O error occurs

flush

public void flush()
           throws java.io.IOException
Flush the stream. If the stream has saved any characters from the various write() methods in a buffer, write them immediately to their intended destination. Then, if that destination is another character or byte stream, flush it. Thus one flush() invocation will flush all the buffers in a chain of Writers and OutputStreams.

Specified by:
flush in interface java.io.Flushable
Specified by:
flush in class java.io.Writer
Throws:
java.io.IOException - If an I/O error occurs

write

public void write(char[] cbuf,
                  int off,
                  int len)
           throws java.io.IOException
Write a portion of an array of characters.

Specified by:
write in class java.io.Writer
Parameters:
cbuf - Array of characters
off - Offset from which to start writing characters
len - Number of characters to write
Throws:
java.io.IOException - If an I/O error occurs