/*
* $Id: HtmlStringBufferedResponseWriter.java,v 1.4 2006/05/11 17:06:38 eiki Exp $
* Created on 24.10.2005 in project com.idega.faces
*
* Copyright (C) 2005 Idega Software hf. All Rights Reserved.
*
* This software is the proprietary information of Idega hf.
* Use is subject to license terms.
*/
package com.idega.faces.componentbased;
import java.io.IOException;
import java.io.StringWriter;
import javax.faces.FacesException;
import javax.faces.context.ResponseWriter;
import org.apache.myfaces.shared_impl.renderkit.html.HtmlResponseWriterImpl;
/**
* <p>
* Class used by the CbpViewHandler to buffer out the written content to a string.<br/>
* This is done so the state management parrameters can be rewritten when the page has rendered.
* </p>
* Last modified: $Date: 2006/05/11 17:06:38 $ by $Author: eiki $
*
* @author <a href="mailto:tryggvil@idega.com">tryggvil</a>
* @version $Revision: 1.4 $
*/
public class HtmlStringBufferedResponseWriter extends HtmlResponseWriterImpl {
private StringWriter stringWriter;
private ResponseWriter realResponseWriter;
/**
* @param writer
* @param contentType
* @param characterEncoding
* @throws FacesException
*/
public HtmlStringBufferedResponseWriter(StringWriter writer, String contentType, String characterEncoding) throws FacesException {
super(writer, contentType, characterEncoding);
setStringWriter(writer);
}
public StringWriter getStringWriter() {
return this.stringWriter;
}
public void setStringWriter(StringWriter writer) {
this.stringWriter=writer;
}
/**
* @return Returns the realResponseWriter.
*/
public ResponseWriter getRealResponseWriter() {
return this.realResponseWriter;
}
/**
* @param realResponseWriter The realResponseWriter to set.
*/
public void setRealResponseWriter(ResponseWriter realResponseWriter) {
this.realResponseWriter = realResponseWriter;
}
void setContent(String content) throws IOException {
stringWriter.close();
stringWriter = new StringWriter();
stringWriter.write(content);
}
@Override
public String toString() {
return stringWriter.toString();
}
}