1 /*
2  * FinishableWrapperOutputStream
3  *
4  * Author: Lasse Collin <lasse.collin@tukaani.org>
5  *
6  * This file has been put into the public domain.
7  * You can do whatever you want with this file.
8  */
9 
10 package org.tukaani.xz;
11 
12 import java.io.OutputStream;
13 import java.io.IOException;
14 
15 /**
16  * Wraps an output stream to a finishable output stream for use with
17  * raw encoders. This is not needed for XZ compression and thus most
18  * people will never need this.
19  */
20 public class FinishableWrapperOutputStream extends FinishableOutputStream {
21     /**
22      * The {@link java.io.OutputStream OutputStream} that has been
23      * wrapped into a FinishableWrapperOutputStream.
24      */
25     protected OutputStream out;
26 
27     /**
28      * Creates a new output stream which support finishing.
29      * The <code>finish()</code> method will do nothing.
30      */
FinishableWrapperOutputStream(OutputStream out)31     public FinishableWrapperOutputStream(OutputStream out) {
32         this.out = out;
33     }
34 
35     /**
36      * Calls {@link java.io.OutputStream#write(int) out.write(b)}.
37      */
write(int b)38     public void write(int b) throws IOException {
39         out.write(b);
40     }
41 
42     /**
43      * Calls {@link java.io.OutputStream#write(byte[]) out.write(buf)}.
44      */
write(byte[] buf)45     public void write(byte[] buf) throws IOException {
46         out.write(buf);
47     }
48 
49     /**
50      * Calls {@link java.io.OutputStream#write(byte[],int,int)
51                     out.write(buf, off, len)}.
52      */
write(byte[] buf, int off, int len)53     public void write(byte[] buf, int off, int len) throws IOException {
54         out.write(buf, off, len);
55     }
56 
57     /**
58      * Calls {@link java.io.OutputStream#flush() out.flush()}.
59      */
flush()60     public void flush() throws IOException {
61         out.flush();
62     }
63 
64     /**
65      * Calls {@link java.io.OutputStream#close() out.close()}.
66      */
close()67     public void close() throws IOException {
68         out.close();
69     }
70 }
71