de.intarsys.tools.writer
Class LogWriter

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

public class LogWriter
extends java.io.FilterWriter

A writer that logs any char written.

The writer is piped in the writing process, any characters written are copied to an associated writer object.

 Client -> LogWriter -> Writer -> Destination
            |
            v
           Writer (Copy)
 


Field Summary
 
Fields inherited from class java.io.FilterWriter
out
 
Fields inherited from class java.io.Writer
lock
 
Constructor Summary
LogWriter(java.io.Writer o, java.io.Writer log)
          EscapeWriter constructor comment.
 
Method Summary
 void close()
          Close the stream, flushing it first.
 void flush()
          Flush the stream.
 java.io.Writer getLog()
           
 void write(char[] cbuf, int off, int len)
           
 void write(int c)
           
 void write(java.lang.String str, int off, int len)
           
 
Methods inherited from class java.io.Writer
append, append, append, write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LogWriter

public LogWriter(java.io.Writer o,
                 java.io.Writer log)
EscapeWriter constructor comment.

Parameters:
o - java.io.Writer
log -
Method Detail

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
Overrides:
close in class java.io.FilterWriter
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
Overrides:
flush in class java.io.FilterWriter
Throws:
java.io.IOException - If an I/O error occurs

getLog

public java.io.Writer getLog()

write

public void write(char[] cbuf,
                  int off,
                  int len)
           throws java.io.IOException
Overrides:
write in class java.io.FilterWriter
Throws:
java.io.IOException

write

public void write(int c)
           throws java.io.IOException
Overrides:
write in class java.io.FilterWriter
Throws:
java.io.IOException

write

public void write(java.lang.String str,
                  int off,
                  int len)
           throws java.io.IOException
Overrides:
write in class java.io.FilterWriter
Throws:
java.io.IOException