/*
 * LOGICAL-PARADOX.ORG
 * Copyright (C)2005 satoshi akabane(akabane@logical-paradox.org)
 * $Id: HtmlGenerator.java,v 1.1 2005/05/11 17:48:20 rampil Exp $
 */
package org.logical_paradox.httpd.html;

import org.logical_paradox.httpd.ClientRequest;
import org.logical_paradox.httpd.ServerResponse;
import org.logical_paradox.httpd.exception.HttpException;
import org.logical_paradox.httpd.html.random.*;

/**
 * HTMLジェネレータファクトリ
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.1 $
 */
public abstract class HtmlGenerator {
	/** 適当なHTMLを返すHTMLジェネレータ */
	private static final HtmlGenerator random = new RandomHtmlGenerator();

	/**
	 * デフォルトのHTMLジェネレータを返す
	 * @return HTMLジェネレータ
	 */
	public static final HtmlGenerator getInstance() {
		return random;
	}
	/**
	 * HTMLページを返す
	 * @param request クライアントからのリクエスト
	 * @return 生成されたHTML
	 * @throws HttpException ドキュメント生成中に発生した例外(404や403など)
	 */
	public abstract ServerResponse generateHtml(ClientRequest request) throws HttpException;
}
