package org.rendersnake.ext.spring;
import java.io.Writer;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.rendersnake.HtmlCanvas;
import org.rendersnake.ext.servlet.HtmlServletCanvas;
import org.rendersnake.tools.DebugHtmlCanvas;
/**
* HtmlCanvasFactory is responsible for creating HtmlCanvas objects.
*
* @author e.micklei
*/
public class HtmlCanvasFactory {
public static String INSPECT_QUERY_PARAM = "inspect";
public static boolean DEBUG_ENABLED = true;
/**
* @param request
* @param response
* @param out
* @return
*/
public static HtmlCanvas createCanvas(HttpServletRequest request, HttpServletResponse response, Writer out) {
HtmlCanvas html = null;
// detect debug request
if (DEBUG_ENABLED && (request.getParameter(INSPECT_QUERY_PARAM) != null)) {
html = new DebugHtmlCanvas(request, response, out);
} else {
html = new HtmlServletCanvas(request, response, out);
}
return html;
}
}