| /* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under |
| * the terms of the Common Public License v1.0 which accompanies this distribution, |
| * and is available at http://www.eclipse.org/legal/cpl-v10.html |
| * |
| * $Id: HTMLWriter.java,v 1.1.1.1 2004/05/09 16:57:41 vlad_r Exp $ |
| */ |
| package com.vladium.emma.report.html.doc; |
| |
| import java.io.IOException; |
| import java.io.Writer; |
| |
| import com.vladium.util.IConstants; |
| import com.vladium.util.asserts.$assert; |
| import com.vladium.emma.IAppErrorCodes; |
| import com.vladium.emma.EMMARuntimeException; |
| |
| // ---------------------------------------------------------------------------- |
| /** |
| * @author Vlad Roubtsov, (C) 2003 |
| */ |
| public |
| final class HTMLWriter |
| { |
| // public: ................................................................ |
| |
| // TODO: add API for indenting |
| |
| public HTMLWriter (final Writer out) |
| { |
| if (out == null) throw new IllegalArgumentException ("null input: out"); |
| |
| m_out = out; |
| } |
| |
| |
| public void write (final String s) |
| { |
| if ($assert.ENABLED) $assert.ASSERT (s != null, "s = null"); |
| |
| if (m_out != null) |
| { |
| try |
| { |
| m_out.write (s); |
| } |
| catch (IOException ioe) |
| { |
| throw new EMMARuntimeException (IAppErrorCodes.REPORT_IO_FAILURE, ioe); |
| } |
| } |
| } |
| |
| public void write (final char c) |
| { |
| if (m_out != null) |
| { |
| try |
| { |
| m_out.write (c); |
| } |
| catch (IOException ioe) |
| { |
| throw new EMMARuntimeException (IAppErrorCodes.REPORT_IO_FAILURE, ioe); |
| } |
| } |
| } |
| |
| public void eol () |
| { |
| if (m_out != null) |
| { |
| try |
| { |
| m_out.write (IConstants.EOL); |
| } |
| catch (IOException ioe) |
| { |
| throw new EMMARuntimeException (IAppErrorCodes.REPORT_IO_FAILURE, ioe); |
| } |
| } |
| } |
| |
| public void flush () |
| { |
| if (m_out != null) |
| { |
| try |
| { |
| m_out.flush (); |
| } |
| catch (IOException ioe) |
| { |
| throw new EMMARuntimeException (IAppErrorCodes.REPORT_IO_FAILURE, ioe); |
| } |
| } |
| } |
| |
| public void close () |
| { |
| if (m_out != null) |
| { |
| try { m_out.close (); } catch (IOException ignore) {} |
| m_out = null; |
| } |
| } |
| |
| // protected: ............................................................. |
| |
| // package: ............................................................... |
| |
| // private: ............................................................... |
| |
| |
| private Writer m_out; |
| |
| } // end of class |
| // ---------------------------------------------------------------------------- |