ODA を作成するには、ODA 基底クラス (ODKAgentBase2) を拡張して、独自の ODA クラス を作成します。
ODKAgentBase2 クラスには、ODA の初期化、設定、および終了のためのメソッドが含まれています。独自の ODA を実装するには、この ODA 基底クラスを拡張して、ODA クラスを作成する必要があります。
ODA クラスを派生するには、次のステップを実行します。
この ODA クラスには、次の名前を付けることを推奨します。
ODAname.java
ここで、ODAname は ODA を固有に識別する名前で、ODA のソース・データに ODA の拡張子を付けた形式 (srcDataNameODA) となります。ソース・データ名については、ODA の名前付けを参照してください。例えば、HTML オブジェクト用の ODA を作成する場合は、HTMLODA.java という名前の ODA クラス・ファイルを作成します。
ODA パッケージ名は、次のような形式で指定するきまりになっています。
com.ibm.oda.srcDataName.ODAname
上記の形式において、ODAname はステップ 1 で定義されたものと同じであり、srcDataName もステップ 1 で定義されたものと同じです (ただし、小文字で指定する点は異なる)。例えば、HTML オブジェクト用の ODA のパッケージ名は、次のように ODA クラス内に定義できます。
package com.ibm.oda.html.HTMLODA;
import com.crossworlds.ODK.*;
ODK API のメソッドにアクセスするには、ODA クラスで ODK パッケージをインポートする必要があります (これは、製品ディレクトリー内の lib サブディレクトリーにある CwODK.jar ファイルに含まれています)。
ODA クラス・コードを保持するファイルを複数作成する場合は、ODK パッケージのクラスを各 ソース・ファイルにインポートする必要があります。
例えば、必須の IGeneratesBoDefs インターフェースのみ を HTML 用の ODA に実装するとします。その場合の定義は、次のようになります。
public class HTMLODA extends ODKAgentBase2 implements IGeneratesBoDefs {
コンテンツ生成インターフェースの詳細については、ODA で生成されるコンテンツの決定を参照してください。
表 26. ODKAgentBase2 クラスの抽象メソッドの拡張
ODKAgentBase2 の抽象メソッド | 説明 | 詳細情報の参照先 |
---|---|---|
getAgentProperties() |
このメソッドは、次のタスクを実行します。
| 構成プロパティーの取得 |
getMetaData() | ODA のメタデータ (そのコンテンツ生成機能を含む) を保持する AgentMetaData オブジェクトをインスタンス化します。 | ODA メタデータの初期化 |
init() | リソース割り振りやデータ・ソースへの接続も含めて ODA を初期化します。 | ODA 開始の初期化 |
terminate() | データ・ソースからの切断、および ODA が使用するリソースの解放などのクリーンアップを実行します。 | ODA のシャットダウン |
コンテンツ生成インターフェース | 説明 | 詳細情報の参照先 |
---|---|---|
IGeneratesBoDefs | getContentProtocol() | ODA で生成されるコンテンツの決定 |
| getTreeNodes()
generateBoDefs() getBoDefs() | コンテンツとしてのビジネス・オブジェクト定義の生成 |
IGeneratesBinFiles | getContentProtocol() | ODA で生成されるコンテンツの決定 |
| generateBinFiles()
getBinFile() | コンテンツとしてのバイナリー・ファイルの生成 |