構文
public static void maintainCompositeRelationship(String relDefName, String particpntDefName, BusObj appSpecificBusObj, Object genericBusObjList, CxExecutionContext map_ctx)
パラメーター
戻り値
なし。
例外
RelationshipRuntimeException
コネクターは、ビジネス・オブジェクトをアプリケーションに送信せずに、「サービス呼び出し要求が失敗しました」というメッセージがコラボレーションに送信されます。
注記
maintainCompositeRelationship() メソッドは、relDefName 複合一致関係の particpntDefName 参加者に関連付けられた関係表を保守します。このメソッドは、参加者が異なるレベル (複合キー) の複数のビジネス・オブジェクトからキーを使用する関係を保守します。
このメソッドは、appSpecificObj 親ビジネス・オブジェクトのすべての子ビジネス・オブジェクトについて繰り返され、partDefName 参加者の関係表の関係インスタンスを保守します。メソッドは、受け取った汎用ビジネス・オブジェクトの配列 (genericObjs) から関係インスタンス ID を取得します。子インスタンスごとに、maintainCompositeRelationship() は maintainSimpleIdentityRelationship() メソッドを呼び出して、実際の関係表の管理を実行します。maintainSimpleIdentityRelationship() が実行するアクションは、次の情報によって異なります。
maintainSimpleIdentityRelationship() が行うアクションの詳細については、"一致関係表のアクセス"を参照してください。表 95 から表 99 に、各呼び出しコンテキストのアクションを示します。
複合関係を保守するには、maintainCompositeRelationship() とともに maintainChildVerb() メソッドと updateMyChildren() メソッドを使用します。詳細については、"複合一致関係に関連するマップの規則のカスタマイズ"を参照してください。
例
// This is an example of a code fragment in a parent map. It maintains // the relationship table for all instances of a child object type for // this application-specific parent object. BusObjArray secondLevel2 = (BusObjArray)ObjFirstLevelBusObj2.get("MultiCardChild"); IdentityRelationship.maintainCompositeRelationship( "CmposRel", "AppSpPrt", ObjFirstLevelBusObj2, secondLevel2, cwExecCtx); IdentityRelationship.updateMyChildren( "PCRel", "Parent", ObjFirstLevelBusObj2, "Child", "MultiCardChild", "CmposRel", "AppSpPrt", cwExecCtx);
maintainCompositeRelationship() を含む例については、"複合一致関係に関連するマップの規則のカスタマイズ"を参照してください。
参照項目
updateMyChildren(), maintainChildVerb(), maintainSimpleIdentityRelationship()