/*
 * $Id: GdrnShell.java,v 1.2 2005/07/02 16:52:51 rampil Exp $
 * Copyright (c) 2004 LOGICAL-PARADOX.ORG
 */
package org.logical_paradox.gdrn.shell;

import java.io.OutputStream;
import java.io.PrintWriter;

import org.logical_paradox.gdrn.GdrnConstant;
import org.logical_paradox.shell.CommandLineParser;
import org.logical_paradox.shell.Shell;
import org.logical_paradox.shell.ShellEnv;

/**
 * GDRNクライアントシェル
 * @author satoshi akabane@logical-paradox.org
 * @version $Revision: 1.2 $
 */
public class GdrnShell extends Shell {
	/**
	 * コンストラクタ
	 * @throws Exception
	 */
	public GdrnShell() throws Exception {
		super();
	}
	/**
	 * 画面初期化時に実行されるメソッド
	 * @param ostream 出力ストリーム
	 */
	public void onInitDisplay(OutputStream ostream) {
		outputWelcomeMessage(ostream);
	}
	/**
	 * ウェルカムメッセージを出力する
	 */
	protected void outputWelcomeMessage(OutputStream ostream) {
		PrintWriter pw = new PrintWriter(ostream);
		pw.println(GdrnConstant.GDRN_WELCOME_MSG);
		pw.flush();
		pw.close();
	}
	/**
	 * コマンドラインパーザーを生成する
	 * @return 生成されたパーザー
	 * @throws Exception パーザーの生成に失敗した場合に発生する例外
	 */
	protected CommandLineParser createCommandLineParser(ShellEnv e) throws Exception {
		return new GdrnCommandLineParser(e);
	}
}
