org.marketcetera.util.file
Class WriterWrapper

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

public class WriterWrapper
extends Object
implements Closeable

A wrapped writer. It may wrap a regular file, the standard output or error stream, or any other Writer instance. This wrapper is intended to wrap Writer 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: WriterWrapper.java 16154 2012-07-14 16:34:05Z colin $
Author:
tlerios@marketcetera.com

Constructor Summary
WriterWrapper(File file)
          Creates a new wrapped writer that wraps the given regular file.
WriterWrapper(File file, SignatureCharset requestedSignatureCharset)
          Creates a new wrapped writer that wraps the given regular file.
WriterWrapper(String name)
          Creates a new wrapped writer 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). The default JVM charset is used to convert characters into bytes.
WriterWrapper(String name, SignatureCharset requestedSignatureCharset)
          Creates a new wrapped writer 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). A writer that can inject unicode BOMs is used as a proxy; that writer uses the given signature/charset.
WriterWrapper(Writer writer)
          Creates a new wrapped writer that wraps the given writer.
WriterWrapper(Writer writer, boolean skipClose)
          Creates a new wrapped writer that wraps the given writer.
 
Method Summary
 void close()
           
 boolean getSkipClose()
          Returns true if the receiver's underlying writer will not be closed when close() is called.
 Writer getWriter()
          Returns the receiver's underlying writer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WriterWrapper

public WriterWrapper(String name,
                     SignatureCharset requestedSignatureCharset)
              throws FileNotFoundException
Creates a new wrapped writer that wraps: A writer that can inject unicode BOMs is used as a proxy; that writer uses the given signature/charset.

Parameters:
name - The file name.
requestedSignatureCharset - The signature/charset. It may be null to use the default JVM charset.
Throws:
FileNotFoundException - Thrown if the name represents a regular file, and it cannot be opened for writing.

WriterWrapper

public WriterWrapper(String name)
              throws FileNotFoundException
Creates a new wrapped writer that wraps: The default JVM charset is used to convert characters into bytes.

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

WriterWrapper

public WriterWrapper(File file,
                     SignatureCharset requestedSignatureCharset)
              throws FileNotFoundException
Creates a new wrapped writer that wraps the given regular file. A writer that can inject unicode BOMs is used as a proxy; that writer uses the given signature/charset.

Parameters:
file - The file.
requestedSignatureCharset - The signature/charset. It may be null to use the default JVM charset.
Throws:
FileNotFoundException - Thrown if the file cannot be opened for writing.

WriterWrapper

public WriterWrapper(File file)
              throws FileNotFoundException
Creates a new wrapped writer that wraps the given regular file. The default JVM charset is used to convert characters into bytes.

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

WriterWrapper

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

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

WriterWrapper

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

Parameters:
writer - The writer.
Method Detail

close

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

getWriter

public Writer getWriter()
Returns the receiver's underlying writer.

Returns:
The writer.

getSkipClose

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

Returns:
True if so.


Copyright © 2012. All Rights Reserved.