Class CloseShieldOutputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.io.Flushable, java.lang.AutoCloseable

    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
    • Constructor Summary

      Constructors 
      Constructor Description
      CloseShieldOutputStream​(java.io.OutputStream out)
      Creates a proxy that shields the given output stream from being closed.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Replaces the underlying output stream with a ClosedOutputStream sentinel.
      • Methods inherited from class java.io.OutputStream

        nullOutputStream
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • CloseShieldOutputStream

        public CloseShieldOutputStream​(java.io.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 java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class ProxyOutputStream