org.marketcetera.util.file
Class OutputStreamWrapper

java.lang.Object
  extended by org.marketcetera.util.file.OutputStreamWrapper
All Implemented Interfaces:
Closeable

public class OutputStreamWrapper
extends Object
implements Closeable

A wrapped output stream. It may wrap a regular file, the standard output or error stream, or any other OutputStream instance. This wrapper is intended to wrap OutputStream instances for use with CloseableRegistry, hence such instances should not be closed directly, that is, without going through the wrapper's close() method.

Since:
0.5.0
Version:
$Id: OutputStreamWrapper.java 16154 2012-07-14 16:34:05Z colin $
Author:
tlerios@marketcetera.com

Constructor Summary
OutputStreamWrapper(File file)
          Creates a new wrapped stream that wraps the given regular file.
OutputStreamWrapper(OutputStream stream)
          Creates a new wrapped stream that wraps the given stream.
OutputStreamWrapper(OutputStream stream, boolean skipClose)
          Creates a new wrapped stream that wraps the given stream.
OutputStreamWrapper(String name)
          Creates a new wrapped stream that wraps: the regular file with the given name (data is appended to the file if the name is prefixed by SpecialNames.PREFIX_APPEND), or the standard output stream (if the name is SpecialNames.STANDARD_OUTPUT), or the standard error stream (if the name is SpecialNames.STANDARD_ERROR).
 
Method Summary
 void close()
           
 boolean getSkipClose()
          Returns true if the receiver's underlying stream will not be closed when close() is called.
 OutputStream getStream()
          Returns the receiver's underlying stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OutputStreamWrapper

public OutputStreamWrapper(String name)
                    throws FileNotFoundException
Creates a new wrapped stream that wraps:

Parameters:
name - The file name.
Throws:
FileNotFoundException - Thrown if the name represents a regular file, and it cannot be opened for writing.

OutputStreamWrapper

public OutputStreamWrapper(File file)
                    throws FileNotFoundException
Creates a new wrapped stream that wraps the given regular file.

Parameters:
file - The file.
Throws:
FileNotFoundException - Thrown if the file cannot be opened for writing.

OutputStreamWrapper

public OutputStreamWrapper(OutputStream stream,
                           boolean skipClose)
Creates a new wrapped stream that wraps the given stream. The stream may or may not be closed when close() is called depending on the given flag.

Parameters:
stream - The stream.
skipClose - True if the underlying stream should not be closed.

OutputStreamWrapper

public OutputStreamWrapper(OutputStream stream)
Creates a new wrapped stream that wraps the given stream. The underlying stream will be closed when close() is called; hence the given stream should not wrap (or be) the standard output or error stream.

Parameters:
stream - The stream.
Method Detail

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Throws:
IOException

getStream

public OutputStream getStream()
Returns the receiver's underlying stream.

Returns:
The stream.

getSkipClose

public boolean getSkipClose()
Returns true if the receiver's underlying stream will not be closed when close() is called.

Returns:
True if so.


Copyright © 2012. All Rights Reserved.