ビジネス・オブジェクトをストリングへ変換するために、Delimited
データ・ハンドラーは、ビジネス・オブジェクトの属性を順番にループします。また、ビジネス・オブジェクト内での属性とその子の出現順に、区切りフォーマットを再帰的に生成します。ビジネス・オブジェクトの名前は、変換メソッドに引き数として渡されます。
Delimited
データ・ハンドラーは、ビジネス・オブジェクトを次のように処理して、区切りデータへ変換します。
- データ・ハンドラーは、ビジネス・オブジェクト内のデータを含むストリングを作成します。
- データ・ハンドラーは、ストリングの最初のトークンとしてビジネス・オブジェクト名を追加し、ストリングの
2 番目のトークンとして動詞を追加します。
- データ・ハンドラーは、ビジネス・オブジェクト定義のアプリケーション固有情報を調べて、子メタオブジェクト
(ビジネス・オブジェクトのアプリケーション固有情報の cw_mo_
タグ内に名前がリストされているもの)
があるかどうかを判断します。データ・ハンドラーは、区切りデータにこれらの属性を含めません。cw_mo_
タグの詳細については、ビジネス・オブジェクトからの変換のインプリメントを参照してください。
- データ・ハンドラーは、OmitObjectEventId
という名前のメタオブジェクト属性を調べる。これが true
に設定されている場合は、区切りデータにビジネス・オブジェクトの
ObjectEventId データを含めません。
- データ・ハンドラーは、残りのビジネス・オブジェクト属性を順にループし、それぞれの単純属性ごとに値をストリングへ追加し、各属性の後に構成済みの区切り文字を追加する。コンテナー属性の場合、データ・ハンドラーは次のことを行います。
- 属性がカーディナリティー 1
のコンテナーである場合、データ・ハンドラーでは、属性カウントをストリングへ追加し、続いて子ビジネス・オブジェクトを再帰的に処理して、各属性ごとに値を追加する。
- 属性がカーディナリティー n
のコンテナーである場合、データ・ハンドラーは、コンテナー内の子オブジェクトのカウントをストリングへ追加し、続いて各子ビジネス・オブジェクトを再帰的に処理して、各属性の値をストリングへ追加する。
- データ・ハンドラーが変換を完了したら、直列化データが呼び出し元へ戻されます。データ・ハンドラーは、呼び出し元が要求した形式
(String または InputStream) でデータを戻します。
データ・ハンドラーが生成する形式は、次のパターンに準拠します。
Bus_Obj_Name<delimiter>Verb<delimiter>Attr1<delimiter>Attr2<delimiter>
Number_of_child_object_instances<delimiter>Child_Object_Name<delimiter>Verb
<delimiter>Attr1<delimiter>Attr2<EndBO:Bus_Obj_Name>
属性値内の区切り文字に類似のストリングの前には、エスケープ・ストリングが付加されます。エスケープ・ストリングは、子メタオブジェクトの
Escape 属性を使用して構成されます。
