CompressOutputStream.java

package com.ziesemer.utils.web.compressFilter;

import java.io.IOException;
import java.util.zip.DeflaterOutputStream;

import javax.servlet.ServletOutputStream;

/**
 * <p>{@link ServletOutputStream} that forwards all write calls to the passed-in {@link CompressOutputStream}.</p>
 * @author Mark A. Ziesemer
 * <a href="http://www.ziesemer.com">&lt;www.ziesemer.com&gt;</a>
 */
class CompressOutputStream extends ServletOutputStream{
	protected DeflaterOutputStream dos;
	
	CompressOutputStream(final DeflaterOutputStream dos){
		this.dos = dos;
	}
	
	@Override
	public void write(final int b) throws IOException{
		dos.write(b);
	}
	
	@Override
	public void write(final byte[] b, final int off, final int len) throws IOException{
		dos.write(b, off, len);
	}
	
	@Override
	public void close() throws IOException{
		dos.finish();
		super.close();
	}
}