i ntra-mart The Power for Enterprise Web Solution
自作クラスの呼び出し方

概要

独自に作成した JAVA プログラム(クラス)を呼び出します。



準備

Application Runtime が正しく起動されている事を確認して下さい。
また、バッチプログラムにおいて JAVA を利用する場合には、intra-mart Batch Server が正しく起動していることを確認して下さい。



JAVA クラスの作成

通常の JAVA プログラムを作成する要領でクラスを作成します。

コンストラクタまたはメソッドが引数を必要とする場合、JavaScript から直接受け取る事のできる変数型は String, byte, int, long, short, float, double, および boolean のみとなります。
また、メソッドが返却値を持つ場合で、その返却値を JavaScript でそのまま利用する場合は、String, byte, int, long, short, float, double, boolean のみを利用するようにしてください(JavaScript 側に NaN という数値データを返却する場合 Double.NaN を返却してください)。

独自のクラスを定義してこれを JavaScript から呼び出す場合、呼び出されるクラスでは、必ずパッケージ宣言をしておかなければいけません。

例)指数を司るインスタンスを生成して、メソッド(pow)の引数に指定した様々な数値の累乗を求めるクラス

package myclass;

public class Exponent{
    private double exp;

    public Exponent(int exp){
        this.exp = (double) exp;
    }

    public double pow(double base){
        return java.lang.Math.pow(base, exp);
    }
}



環境設定

作成した JAVA プログラム(*.java)を JAVA コンパイラでコンパイルして、生成されたクラスファイル(*.class)をパッケージ宣言どおりのディレクトリ構造をもった場所に保存します(この状態で jar ファイルにする事も可能)。

クラスファイル(または jar ファイル)は、アプリケーションプログラム内で利用する場合には Application Runtime を動作するコンピュータに保存します。また、バッチプログラムで利用する場合には intra-mart Batch Server を動作するコンピュータに保存します。

Application Runtimeのクラスパスに作成したクラスのパスを追加指定します。(intra-mart Administrator で設定する事もできます。なお、クラスパスはクラスの依存関係や目的に応じて、適切に設定してください。

例)クラス myclass.Exponent の場合
コンパイルごのファイル myclass/Exponent.class(ディレクトリ myclass 内に Exponent.class というファイルが存在する状態)を インストールディレクトリ/lib/ に保存します。

root/
    └ lib/
        └ myclass/
            └ Exponent.class
※)root/ は、ページプログラムでクラスを利用する場合は『ApplicationServer インストールディレクトリ』で、バッチプログラムで利用する場合は『BatchServer インストールディレクトリ』となります。


JavaScript からの呼び出し

独自クラスの場合、Packages キーワードにより呼び出しを行います。呼び出し構文は、Packages.パッケージ名.クラス名 となります。

クラスメソッドを利用する場合は、Packages.パッケージ名.クラス名.メソッド名() と記述して呼び出します。
また、コンストラクタを呼び出す場合には、new 演算子を用いて new Packages.パッケージ名.クラス名 と記述して呼び出します。

例)自作の指数クラスを呼び出して 2 の 8 乗を計算し、デバッグ画面に表示します。

var oct = new Packages.myclass.Exponent(8);
Debug.browse(oct.pow(2) - 0);



注意事項

intra-mart から呼び出すクラスは、intra-mart の動作している Java-VM のバージョンに合わせて作成されたものに限ります。

JAVA および JavaScript で扱う変数型に関する注意事項に関しては、JAVA 標準クラスを呼び出した場合と同様です。




Copyright(C) NTT DATA INTRAMART CO.,LTD. 2000-2005 All Rights Reserved.