コマンド・クラスの作成と実行
wisdomではWebで実行できるコマンド、Javaアプリケーションとして実行できるコマンドの2つの種類があります。

- Webで実行するコマンドの作成
- Javaアプリケーションとして実行できるコマンドの作成

Webで実行するコマンドの作成
wisdom.core.application.IRequestCommandを実装したAbstractRequestCommandクラスの継承
IRequestCommandインターフェースはWebで使用するコマンドを定義したインターフェースです。wisdomでは、このインターフェース実装クラスがWebコマンドとして実行可能です。このインタフェースを実装するにはwisdom.core.application.AbstractRequestCommanedクラスを継承し、抽象メソッド _execute() を実装します。
例）実行後にJSPを表示するコマンドクラス
package tutorial;
import wisdom.core.application.AbstractRequestCommand;
public class HelloWorld extends AbstractRequestCommand {
/**
* 遷移先JSPを{@link IRequestCommand#setPage(String)}を使用し設定します<br> 　　　　*/
protected void _execute() throws Exception {
setPage ("tutorial/helloworld.jsp" );
}
}
コマンドクラスで実行後のJSPを指定するには
AbstractRequestCommand#setPage(String)
コマンド実行後に転送するJSPを指定します。
AbstractRequestCommandを継承したWebコマンドのruntime-config.xmlへの登録
コマンドクラスはブラウザから呼び出され実行されます。wisdomではwisom.core.runime.RuntimeServletがコマンドクラスを呼び出します。RuntimeServletはクライアントからのパラメータ引数から実行するコマンドクラスを呼び出し実行します。コマンドクラスの呼び出しにはruntime-config.xmlの定義が使用されます。上のHelloWorldコマンドを実行するには以下ようにruntime-config.xmlに登録します。RuntimeServletは「reqid」というパラメータ引数の値を使用して目的のコマンドクラスを実行します。
例）runtime-config.xml
<?xml version='1.0' encoding='Shift_JIS'?>
<commands>
<reqid id='hello' command='tutorial.HelloWorld' desc='ハローワールド' ></reqid>
</commands>
ブラウザからのWebコマンドクラスの呼び出し
上の例で、reqidの値が"hello"の場合はtutorial.HelloWorldコマンドを実行する、と定義しました。これをブラウザから呼び出すには
例）
http://locaname/wisdom/rp?reqid=hello
と入力することでtutorial.HelloWorldコマンドが実行されます。
s
Javaアプリケーションとして実行できるコマンドの作成
wisdom.core.application.IBatchCommandを実装したAbstractBatchCommandクラスの継承
IBatchCommandインターフェースはJavaアプリケーションとして実行可能なコマンドを定義したインターフェースです。wisdomでは、このインターフェース実装クラスがJavaアプリケーションとして実行可能です。このインタフェースを実装するにはwisdom.core.application.AbstractBatchCommanedクラスを継承し、抽象メソッド _execute() を実装します。またIBacthCommandはRuntimeServletの初期ロード時に実行するコマンドとしても利用できます。
例）IBatchCommandを継承したHelloBatchWorld.java
package tutorial;
import wisdom.core.application.AbstractBatchCommand;
public class HelloBatchWorld extends AbstractBatchCommand {
public void _execute() throws Exception {
System.err.println("hello world");
}
public static void main(String[] args) throws Exception {
AbstractBatchCommand c = new HelloBatchWorld();
c.execute();
}
}

※コマンドは_execute()メソッドの実装で終わります。Javaアプリケーションとして実行するためにmainメソッドを記述する必要がありますが、RuntimeServletの初期ロード時の実行に限定される場合mainメソッドの記述は不要です。