package org.displaytag.util;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;
import java.io.CharArrayWriter;
import java.io.PrintWriter;

/**
 * Buffers the response; will not send anything directly throw to the actual response.
 * User: apruitt
* @author rapruitt <rapruitt@apruitt.com>
 * @version $Revision: $ ($Author: $)
  */
public class BufferedResponseWrapper extends HttpServletResponseWrapper {
    Log logger = LogFactory.getLog(BufferedResponseWrapper.class);
    private CharArrayWriter output;
    private String contentType;

    public String toString() {
        return output.toString();
    }

    public String getContentType() {
        return contentType;
    }

    public void setContentType(String contentType) {
        this.contentType = contentType;
    }

    public BufferedResponseWrapper(HttpServletResponse response) {
        super(response);
        output = new CharArrayWriter();
    }

    public PrintWriter getWriter() {
        return new PrintWriter(output);
    }
}
