org.apache.commons.io.output
Class CloseShieldOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by java.io.FilterOutputStream
          extended by org.apache.commons.io.output.ProxyOutputStream
              extended by org.apache.commons.io.output.CloseShieldOutputStream
All Implemented Interfaces:
Closeable, Flushable

public class CloseShieldOutputStream
extends ProxyOutputStream

Proxy stream that prevents the underlying output stream from being closed.

This class is typically used in cases where an output stream needs to be passed to a component that wants to explicitly close the stream even if other components would still use the stream for output.

Since:
1.4
Version:
$Id: CloseShieldOutputStream.java 1304052 2012-03-22 20:55:29Z ggregory $

Field Summary
 
Fields inherited from class java.io.FilterOutputStream
out
 
Constructor Summary
CloseShieldOutputStream(OutputStream out)
          Creates a proxy that shields the given output stream from being closed.
 
Method Summary
 void close()
          Replaces the underlying output stream with a ClosedOutputStream sentinel.
 
Methods inherited from class org.apache.commons.io.output.ProxyOutputStream
afterWrite, beforeWrite, flush, handleIOException, write, write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CloseShieldOutputStream

public CloseShieldOutputStream(OutputStream out)
Creates a proxy that shields the given output stream from being closed.

Parameters:
out - underlying output stream
Method Detail

close

public void close()
Replaces the underlying output stream with a ClosedOutputStream sentinel. The original output stream will remain open, but this proxy will appear closed.

Specified by:
close in interface Closeable
Overrides:
close in class ProxyOutputStream


Copyright © 2002-2012 The Apache Software Foundation. All Rights Reserved.