package cz.abclinuxu.datoveschranky.tinyDB.holders; import cz.abclinuxu.datoveschranky.common.impl.Utils; import java.io.BufferedWriter; import java.io.Closeable; import java.io.IOException; import java.io.OutputStream; import java.io.OutputStreamWriter; /** * Zapíše obsah elementu do OutputStreamu. * * @author Vaclav Rosecky <xrosecky 'at' gmail 'dot' com> */ public class OutputStreamHolder implements OutputHolder<OutputStream>, Closeable { private final OutputStream os; private final BufferedWriter bw; public OutputStreamHolder(OutputStream os) { this.os = os; bw = new BufferedWriter(new OutputStreamWriter(os)); } public void write(char[] array, int start, int length) { try { bw.write(array, start, length); bw.flush(); } catch (IOException ioe) { throw new RuntimeException("Nemohu zapisovat do bufferu", ioe); } } public OutputStream getResult() { return os; } public void close() { Utils.close(bw, os); } }