001package com.hfg.util.io;
002
003import java.io.FilterOutputStream;
004import java.io.IOException;
005import java.io.OutputStream;
006
007
008//------------------------------------------------------------------------------
009/**
010 * OutputStream that overrides the close() to do nothing.
011 *
012 * @author J. Alex Taylor, hairyfatguy.com
013 */
014//------------------------------------------------------------------------------
015// com.hfg XML/HTML Coding Library
016//
017// This library is free software; you can redistribute it and/or
018// modify it under the terms of the GNU Lesser General Public
019// License as published by the Free Software Foundation; either
020// version 2.1 of the License, or (at your option) any later version.
021//
022// This library is distributed in the hope that it will be useful,
023// but WITHOUT ANY WARRANTY; without even the implied warranty of
024// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
025// Lesser General Public License for more details.
026//
027// You should have received a copy of the GNU Lesser General Public
028// License along with this library; if not, write to the Free Software
029// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
030//
031// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
032// jataylor@hairyfatguy.com
033//------------------------------------------------------------------------------
034
035public class NoCloseOutputStream extends FilterOutputStream
036{
037
038   //##########################################################################
039   // CONSTRUCTORS
040   //##########################################################################
041
042   //--------------------------------------------------------------------------
043   public NoCloseOutputStream(OutputStream inStream)
044   {
045      super(inStream);
046   }
047
048
049   //##########################################################################
050   // PUBLIC METHODS
051   //##########################################################################
052
053   //--------------------------------------------------------------------------
054   @Override
055   public void close()
056   {
057      // Flush but don't close
058      try
059      {
060         flush();
061      }
062      catch (IOException e)
063      {
064         throw new RuntimeIOException(e);
065      }
066   }
067}