package org.prevayler.foundation.gzip;
import java.io.IOException;
import java.io.OutputStream;
import java.util.zip.GZIPOutputStream;
public class MultiMemberGZIPOutputStream extends OutputStream {
private OutputStream _stream;
private GZIPOutputStream _gzip;
public MultiMemberGZIPOutputStream(OutputStream stream) {
_stream = new NonCloseableOutputStream(stream);
_gzip = null;
}
public void write(int b) throws IOException {
write(new byte[]{(byte) b});
}
public void write(byte b[]) throws IOException {
write(b, 0, b.length);
}
public void write(byte b[], int off, int len) throws IOException {
if (_gzip == null) {
_gzip = new GZIPOutputStream(_stream);
}
_gzip.write(b, off, len);
}
public void flush() throws IOException {
if (_gzip != null) {
_gzip.close();
_gzip = null;
}
_stream.flush();
}
public void close() throws IOException {
throw new UnsupportedOperationException();
}
}