ODA 基底クラスの拡張

ODA を作成するには、ODA 基底クラス (ODKAgentBase2) を拡張して、独自の ODA クラス を作成します。

ODKAgentBase2 クラスには、ODA の初期化、設定、および終了のためのメソッドが含まれています。独自の ODA を実装するには、この ODA 基底クラスを拡張して、ODA クラスを作成する必要があります。

ODA クラスを派生するには、次のステップを実行します。

  1. ODKAgentBase2 クラスを拡張して ODA クラスを作成します。

    この ODA クラスには、次の名前を付けることを推奨します。

        ODAname.java
     

    ここで、ODAname は ODA を固有に識別する名前で、ODA のソース・データに ODA の拡張子を付けた形式 (srcDataNameODA) となります。ソース・データ名については、ODA の名前付けを参照してください。例えば、HTML オブジェクト用の ODA を作成する場合は、HTMLODA.java という名前の ODA クラス・ファイルを作成します。

  2. ODA クラス・ファイル内で、ユーザーの ODA を含むパッケージ名を定義します。

    ODA パッケージ名は、次のような形式で指定するきまりになっています。

    com.ibm.oda.srcDataName.ODAname
     

    上記の形式において、ODAname はステップ 1 で定義されたものと同じであり、srcDataName もステップ 1 で定義されたものと同じです (ただし、小文字で指定する点は異なる)。例えば、HTML オブジェクト用の ODA のパッケージ名は、次のように ODA クラス内に定義できます。

    package com.ibm.oda.html.HTMLODA;
     
  3. ODA クラス・ファイルで com.crossworlds.ODK パッケージのクラスをインポートします。

            import com.crossworlds.ODK.*;
     

    ODK API のメソッドにアクセスするには、ODA クラスで ODK パッケージをインポートする必要があります (これは、製品ディレクトリー内の lib サブディレクトリーにある CwODK.jar ファイルに含まれています)。

    ODA クラス・コードを保持するファイルを複数作成する場合は、ODK パッケージのクラスを ソース・ファイルにインポートする必要があります。

  4. ODA クラスを定義し、ODA が使用するコンテンツ生成インターフェースをその定義に組み込みます。ビジネス・オブジェクト定義をコンテンツとして生成するには、ODA に IGeneratesBoDefs コンテンツ生成インターフェースを実装する必要があります。ODA に IGeneratesBinFiles コンテンツ生成インターフェースを実装すれば、バイナリー・ファイルのコンテンツを生成することもできます。

    例えば、必須の IGeneratesBoDefs インターフェースのみ を HTML 用の ODA に実装するとします。その場合の定義は、次のようになります。

    public class HTMLODA extends ODKAgentBase2 implements IGeneratesBoDefs {
     

    コンテンツ生成インターフェースの詳細については、ODA で生成されるコンテンツの決定を参照してください。

  5. ODKAgentBase2 クラスの抽象メソッドを ODA クラスに実装します。 表 26 は、それらのメソッドの概要を示しています。メソッドは、ビジネス・オブジェクト・ウィザードが呼び出す順番に記載されています。これらの抽象メソッドの実装方法については、表 26 を参照してください。

    表 26. ODKAgentBase2 クラスの抽象メソッドの拡張
    ODKAgentBase2 の抽象メソッド 説明 詳細情報の参照先
    getAgentProperties()

    このメソッドは、次のタスクを実行します。

    • ODA の初期化に必要な構成プロパティーの定義 (データ・ソースへの接続のために ODA が必要とする情報の定義も含む)。
    • 配列内の構成プロパティーのビジネス・オブジェクト・ウィザードへの送信。

    構成プロパティーの取得
    getMetaData() ODA のメタデータ (そのコンテンツ生成機能を含む) を保持する AgentMetaData オブジェクトをインスタンス化します。 ODA メタデータの初期化
    init() リソース割り振りやデータ・ソースへの接続も含めて ODA を初期化します。 ODA 開始の初期化
    terminate() データ・ソースからの切断、および ODA が使用するリソースの解放などのクリーンアップを実行します。 ODA のシャットダウン

  6. 1 つまたは複数のコンテンツ生成インターフェースのメソッドを ODA クラスに実装します。表 26 は、コンテンツ生成インターフェースのメソッドと、それらのメソッドの作成方法について詳細な情報が記載されている場所を示しています。

    表 27. コンテンツ生成インターフェースのメソッドの定義
    コンテンツ生成インターフェース 説明 詳細情報の参照先
    IGeneratesBoDefs getContentProtocol() ODA で生成されるコンテンツの決定

    getTreeNodes()
    generateBoDefs()
    getBoDefs()
    コンテンツとしてのビジネス・オブジェクト定義の生成
    IGeneratesBinFiles getContentProtocol() ODA で生成されるコンテンツの決定

    generateBinFiles()

    getBinFile()

    コンテンツとしてのバイナリー・ファイルの生成

Copyright IBM Corp. 2004