common.client
クラス AbstractConsole

java.lang.Object
  上位を拡張 common.client.AbstractConsole
直系の既知のサブクラス:
TextConvertConsole

public abstract class AbstractConsole
extends Object

コンソールアプリ実装用の抽象クラス。

一部、デザインパターンの Template Method パターン風になっており、 継承クラスでは validate(String[]), parse(String[]), run()、そして main の実装を行うことで、定型のコンソールアプリの作成が可能。
main では、前述の3メソッドを表記の順番に実行する。

バージョン:
$Id: AbstractConsole.java 24 2009-02-22 14:04:01Z Honeplus $
作成者:
Honeplus

入れ子のクラスの概要
static class AbstractConsole.SystemExitException
          アプリケーションを指定された終了コードで終了させる用通知する例外。
 
コンストラクタの概要
AbstractConsole()
           
 
メソッドの概要
protected static void abstractMain(Class<? extends AbstractConsole> clazz, String[] args)
          コンソールからの実行用メイン実装補助メソッド。
protected abstract  void parse(String[] args)
          コンソールから渡された引数の解析、属性への保存。
protected  void printf(String format, Object... args)
          コンソールへの出力。
protected abstract  void run()
          アプリケーション本体の実行。
protected  void validate(String[] args)
          コンソールから渡された引数のチェック(引数の有無・個数)。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

AbstractConsole

public AbstractConsole()
メソッドの詳細

validate

protected void validate(String[] args)
                 throws AbstractConsole.SystemExitException

コンソールから渡された引数のチェック(引数の有無・個数)。

エラーの場合は、標準エラー出力にエラーを吐き、プログラム終了例外を投げる。

パラメータ:
args - 入力パラメータリスト
例外:
AbstractConsole.SystemExitException - プログラムを終了させる必要がある場合

parse

protected abstract void parse(String[] args)
                       throws AbstractConsole.SystemExitException

コンソールから渡された引数の解析、属性への保存。

エラーの場合は、標準エラー出力にエラーを吐き、プログラム終了例外を投げる。

パラメータ:
args - 入力パラメータリスト
例外:
AbstractConsole.SystemExitException - プログラムを終了させる必要がある場合

run

protected abstract void run()
                     throws AbstractConsole.SystemExitException

アプリケーション本体の実行。

エラーの場合は、標準エラー出力にエラーを吐き、プログラム終了例外を投げる。

例外:
AbstractConsole.SystemExitException - プログラムを終了させる必要がある場合

printf

protected void printf(String format,
                      Object... args)

コンソールへの出力。

コンソールがある場合のみ、Console.printf(String, Object...) を実行する。

※「標準出力」ではないので注意。

パラメータ:
format - 書式文字列
args - 書式文字列内の書式指示子により参照される引数

abstractMain

protected static void abstractMain(Class<? extends AbstractConsole> clazz,
                                   String[] args)

コンソールからの実行用メイン実装補助メソッド。

staticmain では継承クラスのクラス名が判らず、 継承クラスでの実装が必須となるため、Template Method パターン風に定型の処理を行うメソッドを定義する。
継承クラスの main では、このメソッドを呼び出して簡易に実装が行える。

指定されたクラスのインスタンスを作成し、 validate(String[]), parse(String[]), run() の3メソッドを順番に実行する。 なお、クラスにはデフォルトコンストラクタが存在する必要がある。

パラメータ:
clazz - 実行するクラス
args - 入力パラメータリスト