org.apache.commons.vfs.util
Class MonitorOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by java.io.BufferedOutputStream
              extended by org.apache.commons.vfs.util.MonitorOutputStream
All Implemented Interfaces:
java.io.Closeable, java.io.Flushable

public class MonitorOutputStream
extends java.io.BufferedOutputStream

An OutputStream that provides buffering and end-of-stream monitoring.

Version:
$Revision: 804886 $ $Date: 2009-08-17 09:38:49 +0200 (Mo, 17. Aug 2009) $
Author:
Adam Murdoch

Field Summary
 
Fields inherited from class java.io.BufferedOutputStream
buf, count
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
MonitorOutputStream(java.io.OutputStream out)
           
 
Method Summary
protected  void assertOpen()
          check if file is still open.
 void close()
          Closes this output stream.
 void flush()
           
protected  void onClose()
          Called after this stream is closed.
 void write(byte[] b)
           
 void write(byte[] b, int off, int len)
           
 void write(int b)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MonitorOutputStream

public MonitorOutputStream(java.io.OutputStream out)
Method Detail

close

public void close()
           throws java.io.IOException
Closes this output stream.

Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.FilterOutputStream
Throws:
java.io.IOException - if an error occurs.

write

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

write

public void write(byte[] b,
                  int off,
                  int len)
           throws java.io.IOException
Overrides:
write in class java.io.BufferedOutputStream
Throws:
java.io.IOException

flush

public void flush()
           throws java.io.IOException
Specified by:
flush in interface java.io.Flushable
Overrides:
flush in class java.io.BufferedOutputStream
Throws:
java.io.IOException

write

public void write(byte[] b)
           throws java.io.IOException
Overrides:
write in class java.io.FilterOutputStream
Throws:
java.io.IOException

assertOpen

protected void assertOpen()
                   throws FileSystemException
check if file is still open.
This is a workaround for an oddidy with javas BufferedOutputStream where you can write to even if the stream has been closed

Throws:
FileSystemException

onClose

protected void onClose()
                throws java.io.IOException
Called after this stream is closed. This implementation does nothing.

Throws:
java.io.IOException


Copyright © 2002-2009 Apache Software Foundation. All Rights Reserved.