// Paraselene generated this source file.
package #1.#x;

import paraselene.*;
import paraselene.supervisor.*;
import java.io.*;

/**
 * CSS出力。
 */
public class Css extends #1.SuperPage implements Downloadable {
	private static final paraselene.mockup.css.paraselene_css	css =
		new paraselene.mockup.css.paraselene_css();

	/**
	 * コンストラクタ。
	 */
	public Css() {
		super();
		try {
			setInitialized( true );
		}
		catch( Exception e ) {
			Option.debug( e );
		}
	}
	/**
	 * ページIDの取得。
	 * @return ページID。
	 */
	public PageID getID() {
		return PageType.PARASELENE_CSS;
	}
	/**
	 * ブラウザに403を返す。
	 * @param req リクエスト内容。
	 * @param fw デフォルト遷移先。
	 * @exception PageException 処理の継続が不可能(ブラウザには500を返す)。
	 */
	public Forward inputMain( RequestParameter req, Forward fw ) throws PageException {
		return new Forward( 403 );
	}
	public boolean isHistoryClear() { return false; }
	public boolean isAllowHistoryAdd() { return false; }
	/**
	 * 別名URI設定。
	 * @return paraselene.css.na
	 */
	public String getAliasURI() {
		return "paraselene.css.na";
	}
	/**
	 * 初回outputの呼び出しメイン処理。
	 * @param req リクエスト内容。
	 * @exception PageException 処理の継続が不可能(ブラウザには500を返す)。
	 */
	public void firstOutputMain( RequestParameter req ) throws PageException{}
	/**
	 * 出力情報の設定を行う。
	 * @param from 遷移元ページ。直接呼ばれている場合はnullです。
	 * @param req リクエスト内容。
	 * @return 出力ページ。
	 * @exception PageException 処理の継続が不可能(ブラウザには500を返す)。
	 */
	public Page outputMain( Page from, RequestParameter req ) throws PageException {
		return this;
	}
	/**
	 * 出力コンテントタイプ。
	 * @return text/css
	 */
	public String getContentType() {
		return "text/css";
	}
	/**
	 * 更新日。
	 * @return 更新日。
	 */
	public HTTPDate getLastModified() {
		return css.getDate();
	}
	/**
	 * 出力内容の取得。
	 * @return ストリーム。
	 * @exception PageException 処理の継続が不可能(ブラウザには500を返す)。
	 */
	public InputStream getInputStream() throws PageException {
		try {
			return css.getInputStream( getCharset() );
		}
		catch( Exception e ) {
			throw new PageException( e );
		}
	}
}

