Apcoordinator ユーザーズガイド
目次 前ページ次ページ

第2部 Apcoordinatorコアの機能> 第10章 XMLデータ仕様記述> 10.3 XMLデータ仕様記述の実行

10.3.2 コンパイル形式での実行

■コンパイルの操作

XMLデータ仕様記述コンパイラは、XMLデータ仕様記述のXMLからJavaソースを生成します。XMLデータ仕様記述コンパイラは、com.fujitsu.uji.xscript.compiler.ESpecCompilerクラスで提供されています。XMLデータ仕様記述コンパイラは、以下のコマンドで実行します。


  java com.fujitsu.uji.xscript.compiler.ESpecCompiler XMLデータ仕様記述ファイル名 生成Javaクラス名
                             [-p パッケージ名] [-comment:none] [-s 生成Javaクラスの基底クラス名]

実際の指定例

  java com.fujitsu.uji.xscript.compiler.ESpecCompiler carrent.xml Carrentc -p carrent

ESpecCompiler
実行クラスをこの通り指定します。
XMLデータ仕様記述ファイル名
コンパイル対象のXMLデータ仕様記述のXMLファイルを指定します。
生成Javaクラス名
コンパイル結果のJavaクラス名です。パッケージは含めません。
パッケージ名
コンパイル結果のJavaクラスのパッケージ名です。省略するとパッケージなしになります。
-comment:none
コンパイル結果のJavaソースにコメントを出力したくない場合に指定します。省略するとJavaソースにコメントを出力します。
生成Javaクラスの基底クラス名
継承形式の利用者定義メソッドを利用する場合に、ESpecValidatorクラスを継承して利用者定義メソッドを実装したクラスを指定します。省略すると、ESpecValidatorクラスから直接継承します。

ポイント
Apcoordinator開発環境をインストールしたフォルダの、binフォルダの中に、ujiespec.batがあります。バッチファイルを作成する場合には参考にしてください。

■コンパイルしたXMLデータ仕様記述の呼び出し

コンパイルしたXMLデータ仕様記述を利用する場合は、ESpecValidatorgetInstanceメソッドで、パッケージ名、クラス名を指定します。

import com.fujitsu.uji.DispatchContext;
import com.fujitsu.uji.xscript.ESpecValidator;
import com.fujitsu.uji.xscript.ESpecResultException;
import com.fujitsu.uji.xscript.ESpecException;

....

    public void processOrder(DispatchContext context, OrderBean bean) throws java.lang.Exception {
        ESpecValidator validator = 
          //ESpecValidator.getInstance(getClass().getClassLoader()); インタプリタ用
            ESpecValidator.getInstance(getClass().getClassLoader(), "mypackage.CheckPrice");
        validator.setInfLoader(context.getApplicationProfile().getInfLoader());
        try {
            validator.setXml("checkPrice.xml");
            validator.validate("checkValue", bean);
        } catch(ESpecResultException e) {
            ...
        } catch(Exception e) {
            throw e;
        }
        ...
    }

getInstance
引数に、"パッケージ名.クラス名"を指定する文字列を追加します。例ではgetInstanceメソッドの復帰値がmypackage.CheckPriceクラスのインスタンスとなります。

目次 前ページ次ページ

All Rights Reserved, Copyright © 富士通株式会社 2000-2005