拡張ビュー・リンクを置換した場合、ビュー・リンクのXMLファイルに追加したコードや、新規のリンク元オブジェクトおよびリンク先オブジェクトなど、元のビュー・リンクに行った変更すべてを、アプリケーションのその他の部分のインスタンスすべてに対して使用可能にできます。拡張ビュー・リンクを置換する場合は、必ず、これによってリンクされている拡張ビュー・オブジェクト(およびそれらが使用する拡張エンティティ・オブジェクト)も置換する必要があります。これは、拡張ビュー・オブジェクトが、通常は、元のビュー・オブジェクトにはない新規の属性を持つためです。また、ビュー・リンクにより、リンク元およびリンク先のロール属性の定義と、ビュー・リンク問合せのWHERE句で、これらの新規属性が使用される可能性もあるためです。
図で示したように、Emp
エンティティ・オブジェクトを拡張した際にLoc
(位置)属性を追加したとします。この属性は、拡張ビュー・オブジェクトNewEmpViewEx
を作成したときに問合せに追加されます。Loc
はすでにDeptView
の属性で、拡張ビュー・オブジェクトNewDeptViewEx
.の問合せに自動的に含まれます。それにより、NewEmpViewEx
とNewDeptViewEx
の間に拡張ビュー・リンクを作成する際に、Loc
をリンク元とリンク先のロール属性のリストに追加でき、またビュー・リンク問合せのWHERE
句にも追加できます。その後、アプリケーション全体で拡張ビュー・リンクを置換する場合は、NewEmpEx
とNewEmpViewEx
(Emp
とEmpView
はLoc
属性を持たないため)、およびNewDeptEx
とNewDeptViewEx
(Dept
はLoc
をリンク元ロール属性として認識しないため)も置換する必要があります。
たとえば、ビジネス・コンポーネント・プロジェクト・ウィザードの置換ページを使用し、アプリケーション全体でビュー・リンクEmpForeignKeyLink
を拡張ビュー・リンクNewFKLinkEx
で置換した場合、フレームワークでは、プロジェクトのXMLファイルのSubstitutes
セクションに1行が追加されます。このプロジェクトのXMLファイルの一部を次に示します。
<Substitutes>
<Substitute OldName ="package27.DeptView" NewName ="Extender.NewDeptViewEx" />
<Substitute OldName ="package27.EmpView" NewName ="Extender.NewEmpViewEx" />
<Substitute OldName ="package27.Emp" NewName ="Extender.newEmp" />
<Substitute OldName ="package27.EmpForeignKeyAssoc" NewName ="Extender.NewFKAssocEx" />
<Substitute OldName ="package27.Dept" NewName ="Extender.NewDeptEx" />
<Substitute OldName ="package27.EmpForeignKeyLink" NewName ="Extender.NewFKLinkEx" />
</Substitutes>
ここでは、プロジェクト・ファイル内の元のエンティティ・オブジェクトEmp
およびDept
を拡張エンティティ・オブジェクトNewEmpEx
およびNewDeptEx
ですでに置換し、元のビューEmpView
およびDeptView
を拡張ビュー・オブジェクトNewEmpViewEx
およびNewDeptViewEx
ですでに置換しているものとします。
また、拡張エンティティ・オブジェクト間のアソシエーションの拡張および置換はオプションであり、ビュー間の拡張ビュー・リンクには影響を与えないことに注意してください。
ビジネス・コンポーネントを置換するには、次のようにします。
Copyright © 1997, 2007, Oracle. All rights reserved.