新規のビュー・オブジェクト属性に基づく定義を使用した実行時のビュー・リンク・インスタンスの追加

データ・モデルに2つのビュー・オブジェクト・インスタンスがある場合は、createViewLinkBetweenViewObjects()を使用することで、実行時にビュー・オブジェクト・インスタンスをマスター/ディテール関係にすることができます。

注意: これは、ビュー・リンク・インスタンスを動的に作成する最も柔軟な方法ですが、最も複雑な方法でもあります。適切と思われるビュー・リンク定義またはアソシエーションがある場合は、別の方法を使用することをお薦めします。詳細は、関連項目のトピックを参照してください。

新規のビュー・オブジェクト属性に基づく定義を使用して実行時にビュー・リンク・インスタンスを追加するには、次のようにします。

  1. データ・モデルのビュー・リンク・インスタンスに与える名前を含む文字列を作成します。たとえば、このインスタンスがCustOrdLink1の場合、次のコードを使用します。

    String vlInstanceName = "CustOrdLink1";

  2. リンク元とリンク先の属性の定義を検索します。
  3. リンク元の属性を含む配列と、それに対応するリンク先の属性を含む別の配列を作成します。
  4. ディテール・ビュー・オブジェクト・インスタンスのアクセッサ名を含む文字列を作成します。これは、ビュー・リンクの横断に使用できます。詳細は、関連項目のトピックを参照してください。たとえば、次の指定が可能です。

    String accessorName = "Orders";

  5. ビュー・リンクのパラメータ化されたWHERE句を含む文字列を作成します(詳細は関連項目のトピックを参照)。Oracle ADF Business ComponentsのデフォルトのSQLを使用する場合は、nullの値を文字列に割り当てることができます。たとえば、次のいずれかの指定が可能です。
    String whereClause = null;
    String whereClause = ":1 = Orders.ORDER_ID";        

    注意: カスタムWHERE句に対する規則は、設計時にそれを作成する場合の規則と同じです。詳細は、関連項目のトピックを参照してください。

  6. 属性定義の文字列、ビュー・オブジェクト・インスタンスおよび配列をcreateViewLinkBetweenViewObjects()に渡します。
    ViewLink vl = myAM.createViewLinkBetweenViewObjects(
      vlInstanceName, accessorName,
      allCustVO, masterAttributeArray, custOrdVO, detailAttributeArray,
      whereClause);        

実行時にビュー・オブジェクト関係を変更する方法
事前定義済ビュー・リンクに基づく実行時のビュー・リンク・インスタンスの追加
新規のアソシエーションに基づく定義を使用した実行時のビュー・リンク・インスタンスの追加
実行時のビュー・リンク・インスタンスの削除
Oracle ADFビュー・リンクについて
Oracle ADFビュー・オブジェクトについて
Oracle ADFアプリケーション・モジュールについて
ビュー・オブジェクト・インスタンスとビュー・リンク・インスタンスについて
データ・モデル内のビュー・オブジェクト・インスタンスの検索
ビュー・リンクの横断
ビュー・リンクSQLの変更