ビジネス・オブジェクトをストリングまたはストリームへ変換するために、NameValue
データ・ハンドラーは、ビジネス・オブジェクトの属性を順番にループします。また、ビジネス・オブジェクト内での属性とその子の出現順に、名前と値のペアを再帰的に生成します。ビジネス・オブジェクトの名前は、変換メソッドに引き数として渡されます。
NameValue
データ・ハンドラーは、ビジネス・オブジェクトを次のように処理して、NameValue
データへ変換します。
- データ・ハンドラーは、ビジネス・オブジェクト内のデータを含むストリングを作成します。
- ビジネス・オブジェクト名を指定するために、データ・ハンドラーは
BusinessObject=Name
をストリングへ追加します。
- 動詞を指定するために、データ・ハンドラーは
Verb=Verb をストリングへ追加します。
- メタオブジェクト属性 ValidateAttrCount が true
に設定されている場合、データ・ハンドラーは、AttributeCount=Count
をストリングへ追加します。
この名前と値のペアは、ビジネス・オブジェクト・データ内の属性の数を指定します。
- データ・ハンドラーは、ビジネス・オブジェクト定義のアプリケーション固有情報を調べて、子メタオブジェクト
(ビジネス・オブジェクトのアプリケーション固有情報の cw_mo_
タグ内に名前がリストされているもの)
があるかどうかを判断します。データ・ハンドラーは、NameValue
データにこれらの属性を含めません。cw_mo_
タグの詳細については、ビジネス・オブジェクトからの変換のインプリメントを参照してください。
- データ・ハンドラーは、残りのビジネス・オブジェクト属性を順にループし、単純な各属性ごとに名前と値のペアをストリングへ追加します。コンテナー属性の場合、データ・ハンドラーは次のことを行います。
- 属性がカーディナリティー 1
のコンテナーである場合、データ・ハンドラーでは、属性名とカウント 1
をストリングへ追加し、続いて子ビジネス・オブジェクトを再帰的に処理して、各属性ごとに名前と値のペアをストリングへ追加します。
- 属性がカーディナリティー n
のコンテナーである場合、データ・ハンドラーは、属性名とコンテナー内の子オブジェクトの数をストリングへ追加し、続いて各子ビジネス・オブジェクトを再帰的に処理して、各属性の名前と値のペアをストリングへ追加します。
- データ・ハンドラーが変換を完了したら、直列化データが呼び出し元へ戻されます。データ・ハンドラーは、呼び出し元が要求した形式
(String または InputStream) でデータを戻します。
子メタオブジェクト属性 ValidateAttrCount が true
に設定されている場合、データ・ハンドラーは、ビジネス・オブジェクト内の属性のカウントが含まれているトークンを出力データへ追加します。
データ・ハンドラーは、復帰を出力データへ追加します。終了結果は 図 32 (図 32 ページ) のようになります。
