ヘッダーをスキップ
Oracle® Fusion Middleware Oracle ADFデータ・コントロールによるアプリケーションの開発
12c (12.1.2)
E48095-02
  目次へ移動
目次

前
 
次
 

4 Beanデータ・コントロールの作成と構成

この章では、Java Persistence API (JPA)とプレーンJavaオブジェクト("POJO"とも呼ばれる)に基づくJavaBeansコンポーネントのデータ・コントロールを作成する方法を説明します。

この章には次の項が含まれます:

4.1 Beanデータ・コントロールについて

データ・コントロールは、ADFモデルによって提供される抽象化です。データ・コントロールを使用して、データとビジネス・サービスを宣言的に操作し、UIコンポーネントを容易に作成できます。データ・コントロールの一般情報については、第1.1項「ADFモデルについて」を参照してください。

Beanデータ・コントロール・タイプを使用して、プレーンJavaオブジェクト(POJO)とJPAベースのJavaサービス・ファサード・クラスを作成します。

4.1.1 JPAベースのBeanデータ・コントロールについて

EJBデータ・コントロールと同様に、JPAベースのBeanデータ・コントロールを使用して持続データを処理できます。これらのデータ・コントロールは、JPAエンティティ・クラスにアクセッサ・メソッドを提供するPOJOサービス・ファサード・クラスに基づいています。JPAベースのBeanデータ・コントロールの主な違いは、EJBコンテナに依存できず、永続性を管理するためのコードをユーザーが提供する必要があることです。EJBデータ・コントロールの詳細は、第3.1項「EJBデータ・コントロールについて」を参照してください。

4.1.2 非JPA Beanデータ・コントロールについて

JPA機能を使用しないJavaクラスのBeanデータ・コントロールを作成することもできます。これらのデータ・コントロールは、永続性機能や名前付き基準のサポートを提供しませんが、たとえば属性に対する宣言的検証ルールの追加や、UIコントロール・ヒントのサポートなど、アダプタ・データ・コントロールのその他の機能は備えています。

JPAベースのBeanデータ・コントロールとは異なり、非JPAデータ・コントロールにはトランザクションの処理やデータソースの更新の実装が組み込まれていません。ただし、データ・コントロールによって認識されるシグネチャを持つ特定のメソッド内で、その機能のユーザー独自の実装をBeanクラスにコーディングできます。詳細は、第4.7項「非JPA Beanデータ・コントロールへのトランザクション動作の追加」、および第4.6項「Beanデータ・コントロールのカスタムCRUD操作の有効化」を参照してください。

非JPAデータ・コントロールは、スクロール可能ページングと範囲ページングをサポートしていますが、多少の手動コーディングを必要とします。詳細は、4.4.1項「データ・コントロールでページ分割サポートを手動で実装する方法」を参照してください。

Beanデータ・コントロールを拡張するカスタム・データ・コントロール・タイプを作成することもできます。詳細は、第4.9項「カスタムBeanデータ・コントロールの作成」を参照してください。

4.2 データ・コントロールによって公開するBeanの準備

Beanデータ・コントロールは、Beanクラスのメタデータ・ラッパーとして機能し、データ・コントロール・オブジェクトとしてBeanのコード要素を公開します。このオブジェクトを使用して、これらのコード要素をUIコンポーネントにバインドできます。

4.2.1 Beanデータ・コントロールでサポートされる型とコンストラクト

Beanデータ・コントロールは、EJBデータ・コントロールと同じJava型およびコンストラクトをサポートします。詳細は、第3.2.1項「EJBデータ・コントロールでサポートされる型とコンストラクト」を参照してください。

4.2.2 Beanデータ・コントロール・オブジェクト

Beanに基づいてデータ・コントロールを作成すると、データ・コントロールによって数種類のオブジェクトが公開され、それぞれのオブジェクトを各種UIコンポーネントにバインドできます。Beanデータ・コントロールは、EJBデータ・コントロールと同じタイプのオブジェクトを公開します。詳細は、第3.2.2項「EJBデータ・コントロール・オブジェクト」を参照してください。

4.2.3 Beanデータ・コントロールの前提条件と考慮事項

Beanデータ・コントロールは、JavaBeans仕様を満たすクラスを基礎としています。たとえば、クラスが有効なデータ・コントロール・ソースであるためには、publicデフォルト・コンストラクタが必要です。

JPAベースのデータ・コントロールの全機能を活用するには、データ・コントロールによってサービスの構造を表現するために使用できるいくつかの要素をクラスに組み込む必要があります。これらの要素は、EJBデータ・コントロールのものとほとんど同じです。主な違いは、EJBセッションBeanのかわりに、Beanデータ・コントロールのJavaサービス・ファサード・クラスを使用することです。詳細は、第3.2.4項「EJBデータ・コントロールの前提条件と考慮事項」を参照してください。

4.2.4 JPAベースのBeanデータ・コントロールのサービス・ファサードを作成する方法

Javaエンティティ・クラスにアクセスするためのサービス・メソッドを含むPOJOクラスに基づいて、Beanデータ・コントロールを作成できます。JDeveloperに備わっているウィザードが、データ・コントロールの操作に必要なすべてのメソッドを含むファサード・クラスの作成に役立ちます。

始める前に:

サービス・ファサードとデータ・コントロールが準拠するコード規則について、全般的に理解しておくと役に立つ場合があります。詳細は、第4.2項「データ・コントロールによって公開するBeanの準備」を参照してください。

次のタスクを完了する必要があります。

  • 『Oracle JDeveloperによるアプリケーションの開発』のJPAエンティティを作成する方法に関する項で説明されているとおり、JPAエンティティを使用するプロジェクトを含むアプリケーション・ワークスペースを作成します。

JPAベースのBeanデータ・コントロールのサービス・ファサードを作成する手順は次のとおりです。

  1. JPAエンティティ・クラスを含むパッケージを右クリックして、Javaサービス・ファサードを選択します。

  2. 「Javaサービス・ファサードの作成」ウィザードの「Javaサービス・クラス」ページで、次のことを行います。

    • サービス・クラスの名前を指定します。

    • サービス・ファサードの基礎にする永続性ユニットを指定します。

    • 「暗黙的」または「明示的」ラジオ・ボタンを選択して、コマンドの動作を決定します。

      「明示的」を選択した場合は、クラスにトランザクション・メソッドが生成されます。後でこのクラスに基づいてデータ・コントロールを作成した場合、これらのメソッドはCommit操作およびRollback操作として公開されます。

      「暗黙的」を選択した場合は、データソースの行を追加および削除するためのメソッドとして、ウィザードによって生成されるpersistEntity()mergeEntity()、およびremoveEntity()の各メソッドを使用できます。

  3. 「Javaサービス・ファサード・メソッド」ページで、生成するメソッドを選択します。


    注意:

    後でデータ・コントロールを作成し、組込みページ分割とJPA問合せのサポートを使用する場合は、queryByRange()メソッドを必ず選択してください。


  4. 「終了」をクリックして、ウィザードを終了します。

4.3 Beanデータ・コントロールによるJavaコレクションとメソッドの公開

Beanの準備ができたら、JDeveloperを使用してデータ・コントロールを作成でき、これらのデータ・コントロールにより、Beanのサービス、およびデータ・コントロールによって提供される組込み操作にUIコンポーネントを宣言的にバインドするために必要なオブジェクトが提供されます。

4.3.1 JPAベースのBeanデータ・コントロールを作成する方法

JPAベースのBeanデータ・コントロールは、「新規ギャラリ」ウィンドウまたは「アプリケーション」ウィンドウから作成します。

始める前に:

Beanデータ・コントロールの一般的な知識があると役立ちます。詳細は、第4.3項「Beanデータ・コントロールによるJavaコレクションとメソッドの公開」を参照してください。

データ・コントロールが使用する、セッションBean内のコード・パターンとコンストラクトについて理解しておくと役に立つこともあります。詳細は、第4.2項「データ・コントロールによって公開するBeanの準備」を参照してください。

次のタスクを完了する必要があります。


Javaサービス・ファサード・クラスを作成します。第4.2.4項「JPAベースのBeanデータ・コントロールのサービス・ファサードを作成する方法」を参照してください。

Beanデータ・コントロールを作成する手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、データ・コントロールの作成対象のBeanを右クリックし、「データ・コントロールの作成」を選択します。

    JPAベースのデータ・コントロールの場合は、データ・コントロールのベースとしてJavaサービス・ファサード・クラスを使用します。

  2. 「Beanデータ・コントロールの作成」ウィザードの「Beanクラスの選択」ページで、データ・コントロール・インスタンスの名前を指定します。


    注意:

    同じBeanの異なる動作を使用して、複数のデータ・コントロール・インスタンスを作成できます。詳細は、第3.3.11項「単一のBeanに対して異なるデータ・コントロールを作成する方法」を参照してください。


  3. ADFデータ・コントロール機能の選択ページで、アプリケーションに使用する追加のデータ・コントロール機能に応じて、次のいずれかのチェック・ボックスを選択します。データ・コントロール機能を実装するためのメソッドがBeanに追加されます。

  4. オプションで、「新規ラッパー・クラス」アイコン(「実装クラス」フィールドの右側)をクリックして、ウィザードのこのページで作成されたカスタム・メソッドを保持する、Beanクラスを拡張した別個のクラスを生成します。

  5. 「Beanデータ・コントロールのオプション」ページで、追加オプションのいずれかを選択します。

    • アクセス・モード。データ・コントロールがデータをフェッチしてメモリーに格納する方法を設定できます。詳細は、第3.4項「EJBデータ・コントロールでのデータのページ分割されたフェッチ」を参照してください。JPAベースのデータ・コントロールの場合、アクセス・モードを指定できるようにするには、「名前付き基準のサポート」オプションを選択する必要があります。

    • 名前付き基準のサポート。選択すると、宣言的名前付き基準の組込みサポートがデータ・コントロールに付加されます。このサポートを使用して、クイック検索フォームを作成できます。詳細は、第7.6項「名前付き基準を使用した結果セットのフィルタリング」を参照してください。このオプションは、JPAベースのデータ・コントロールに対してのみ使用可能で、これらに対してはデフォルトで選択されています。


      警告:

      このオプションを選択解除すると、スクロール可能ページングと範囲ページングのアクセス・モードの組込みオプションもオフになります。詳細は、第3.3.4項「「名前付き基準のサポート」オプションに関する必知事項」を参照してください。


      「名前付き基準のサポート」オプションは、queryByRange()メソッドも含むJPAベースのBeanに対してのみ使用できます。データ・コントロールは、BeanのqueryByRange()メソッドを使用してすべての問合せを処理します。このメソッドを使用しない場合、問合せはBeanの個々のgetterメソッドによって実行されます。詳細は、第3.2.6項「EJBおよびBeanデータ・コントロールがgetterメソッドを使用する方法に関する必知事項」を参照してください。

    • メタデータの生成。このオプションを選択すると、現行プロジェクト内にあるデータ・コントロールによって表現されるすべてのBeanに対して、メタデータ・ファイルを即時に生成できます。このようなメタデータ・ファイルは、データ・コントロールを編集する際にオンデマンドで作成されるので、このオプションは通常は不要です。ただし、アプリケーションのMDSカスタマイズを可能にする場合は、このオプションが役に立つことがあります。詳細は、第7.2.4項「データ・コントロールのMDSカスタマイズに関する必知事項」を参照してください。

4.3.2 非JPAベースのBeanデータ・コントロールを作成する方法

Beanデータ・コントロールは、「新規ギャラリ」ウィンドウまたは「アプリケーション」ウィンドウから作成します。

始める前に:

Beanデータ・コントロールの一般的な知識があると役立ちます。詳細は、第4.3項「Beanデータ・コントロールによるJavaコレクションとメソッドの公開」を参照してください。

データ・コントロールが使用する、セッションBean内のコード・パターンとコンストラクトについて理解しておくと役に立つこともあります。詳細は、第4.2項「データ・コントロールによって公開するBeanの準備」を参照してください。

次のタスクを完了する必要があります。

  1. アプリケーション・ワークスペースとプロジェクトを作成します。詳細は、『Oracle JDeveloperによるアプリケーションの開発』のアプリケーションとプロジェクトの作成に関する項を参照してください。

  2. プロジェクトにBeanクラスを作成します。詳細は、『Oracle JDeveloperによるアプリケーションの開発』の新規Javaクラスまたはインタフェースを作成する方法に関する項を参照してください。

非JPA Beanデータ・コントロールを作成する手順は次のとおりです。

  1. 「アプリケーション」ウィンドウで、データ・コントロールの作成対象のBeanを右クリックし、「データ・コントロールの作成」を選択します。

  2. 「Beanデータ・コントロールの作成」ウィザードの「Beanクラスの選択」ページで、データ・コントロール・インスタンスの名前を指定します。


    注意:

    同じBeanの異なる動作を使用して、複数のデータ・コントロール・インスタンスを作成できます。詳細は、第3.3.11項「単一のBeanに対して異なるデータ・コントロールを作成する方法」を参照してください。


  3. ADFデータ・コントロール機能の選択ページで、アプリケーションに使用する追加のデータ・コントロール機能に応じて、次のいずれかのチェック・ボックスを選択します。選択する機能ごとに、データ・コントロールによって認識されるシグネチャを持つメソッドがBeanに追加されます。これらのメソッド内では、それぞれのデータ・コントロール機能の実装をユーザーが作成できます。

  4. オプションで、「新規ラッパー・クラス」アイコン(「実装クラス」フィールドの右側)をクリックして、ウィザードのこのページで作成されたメソッドを保持する、Beanクラスを拡張した別個のクラスを生成します。

  5. 「Beanデータ・コントロールのオプション」ページで、追加オプションのいずれかを選択します。

    • アクセス・モード。データ・コントロールがデータをフェッチしてメモリーに格納する方法を設定できます。詳細は、第4.4項「Beanデータ・コントロールでのデータのページ分割されたフェッチ」を参照してください。アクセス・モードを選択できるようにするには、「名前付き基準のサポート」オプションを選択する必要があります。

    • メタデータの生成。このオプションを選択すると、データ・コントロールの作成時に、そのデータ・コントロールによって表現されるすべてのBeanのメタデータ・ファイルを自動的に生成できます。メタデータ・ファイルは、データ・コントロールを編集する際にオンデマンドで作成されるので、このオプションは不要です。ただし、アプリケーションのMDSカスタマイズを可能にする場合は、このオプションが役に立つことがあります。詳細は、第7.2.4項「データ・コントロールのMDSカスタマイズに関する必知事項」を参照してください。

4.3.3 Beanデータ・コントロール作成時のプロジェクト内の処理

JavaBeansコンポーネントに基づくデータ・コントロールを作成する際に、JDeveloperは次の処理を行います。

  • データ・コントロール定義ファイル(DataControls.dcx)を作成し、概要エディタでファイルを開きます。

  • 「データ・コントロール」パネルに、作成されたデータ・コントロール・オブジェクトの階層を表示します。

  • ADFデータ・コントロール機能ページでいずれかの機能を選択した場合は、これらの機能を実装するメソッドをセッションBeanに追加します。

概要エディタと「データ・コントロール」パネルの一般情報については、第2.2.2項「データ・コントロール作成時のプロジェクト内の処理」を参照してください。JPAベースのデータ・コントロールに固有の情報については、第3.3.3項「EJBおよびBeanデータ・コントロールのIDEでの表示」を参照してください。

ADFデータ・コントロール機能ページでいずれかの機能を選択した場合は、これらの機能を実装するメソッドがBeanに(ラッパー・クラスの生成を選択した場合は、ラッパー・クラスに)追加されます。

コレクションの問合せを行うアクセッサ・メソッドがBeanに存在し、ウィザードで「名前付き基準のサポート」を選択した場合は、oracle.adf.model.adapter.bean.jpa.JPQLDataFilterHandlerを使用するデータ・コントロールが生成されます。これは、宣言的名前付き基準とページ分割された問合せのサポートをデータ・コントロールに提供します。

コレクションの問合せを行うアクセッサ・メソッドがBeanに存在しない場合は、oracle.adf.model.adapter.bean.DataFilterHandlerを使用するデータ・コントロールが生成されます。名前付き基準をサポートしないほか、oracle.adf.model.adapter.bean.DataFilterHandlerにはページ分割機能が完全には実装されていません。ただし、ページ分割を実装するメソッドをBeanに追加できます。詳細は、4.4.1項「データ・コントロールでページ分割サポートを手動で実装する方法」を参照してください。

コレクションの問合せを行うアクセッサ・メソッドがBeanに存在し、ウィザードで「名前付き基準のサポート」選択解除した場合は、より制限されたoracle.adf.model.adapter.bean.BeanDCHandlerハンドラを使用するデータ・コントロールが生成され、基本的なページ分割サポートも無効になります。詳細は、第3.3.4項「「名前付き基準のサポート」オプションに関する必知事項」を参照してください。

4.3.4 非JPA Beanデータ・コントロールの主キーに関する必知事項

非JPA Beanを作成する場合であっても、@Idアノテーションを使用してフィールドに主キー列のマークを付けることができます。

ただし、パフォーマンス上の理由から、JPAランタイム・ライブラリへの依存性が生じないように、データ・コントロール・レベルで主キーを指定したほうが望ましい場合があります。詳細は、第7.3.1項「主キーとして属性を指定する方法」を参照してください。

4.4 Beanデータ・コントロールでのデータのページ分割されたフェッチ

Beanデータ・コントロールを作成するときには、ウィザードの「アクセス・モード」ドロップダウン・リストを使用して、データベースからレコードにどのようにアクセスするか、また同時にメモリーに保持されるレコードの数を制限するかどうかを決定できます。

Beanデータ・コントロールのページ分割サポートは、一般にEJBデータ・コントロールのページ分割と同じプリンシパルに従います。詳細は、第3.4項「EJBデータ・コントロールでのデータのページ分割されたフェッチ」を参照してください。ただし、特に非JPAベースのデータ・コントロールの場合は、実装の一部をユーザーが独自に提供でき、ユーザー独自の提供が必要になることもあります。

4.4.1 データ・コントロールでページ分割サポートを手動で実装する方法

非JPAデータ・コントロール(または、oracle.adf.model.adapter.bean.jpa.DataFilterHandlerハンドラを使用する任意のEJBまたはBeanデータ・コントロール)では、ADFモデル・ランタイムによってスクロール可能ページングおよび範囲ページングを実装するには、セッション・ファサードまたはサービス・ファサードで、各コレクションにメソッドを3つずつ追加する必要があります。メソッド・シグネチャは、次のような形式となります。

List<EntityBeanName> getEntityBeanNameList()
List<EntityBeanName> getEntityBeanNameList(int firstResult, int maxResults)
long getEntityBeanNameListSize()

注意:

JPAベースのデータ・コントロールは、一般にoracle.adf.model.adapter.bean.jpa.JPQLDataFilterHandlerハンドラを使用するので、これらのメソッドを手動で実装する必要はありません。ただし、ベースとなるBeanがqueryByRange(String jpqlStmt, int firstResult, int maxResults)メソッドを含んでいない場合は、oracle.adf.model.adapter.bean.jpa.DataFilterHandlerハンドラがデータ・コントロールに割り当てられる可能性があります。詳細は、第3.2.4.2項「推奨されるセッション・ファサードの要素」を参照してください。


4.4.2 問合せおよびページ分割にカスタム・ハンドラを実装する方法

問合せとページングの組込みオプションがアプリケーションに不十分な場合は、データ・コントロールに独自のデータ・ハンドラ・クラスを指定することによって、問合せとページングのカスタム動作を実装できます。

問合せおよびページ分割にカスタム・ハンドラを実装する手順は次のとおりです。

  1. データ・コントロールのカスタム・ハンドラ・クラスを記述して、データ・コントロールのプロジェクトに追加します。

    oracle.adf.model.adapter.bean.jpa.JPQLDataFilterHandleroracle.adf.model.adapter.bean.DataFilterHandlerなど、既存のハンドラをサブクラス化できます。カスタム・ハンドラ・クラスの概略については、例4-1を参照してください。

  2. DataControls.dcxファイルの「ソース」ビューで、ハンドラの完全修飾クラス名を、各データ・コントロールのDataControlHandler属性の値として入力します。

    DataControlHandlerは、EJBデータ・コントロールのejb-definition要素の属性であり、Beanデータ・コントロールのbean-definition要素の属性です。

例4-1 データ・コントロールのカスタム・ハンドラ

public class MyJPQLDataFilterHandler  extends JPQLDataFilterHandler
{
 public boolean invoke(Map bindingContext,
                                 OperationBinding action,
                                 DataFilter filter)
 {
    /** TODO: Users provide custom criteria. */
 }
 
 public Object invoke(RowContext rowCtx, String name,
                               DataFilter filter)
 {
    /** TODO: Users provide custom criteria. */
 } 
 
}

4.5 Beanデータ・コントロールでのフェイルオーバーの有効化

Beanデータ・コントロールの状態をADFランタイムによって管理するように構成できます。この構成は、高可用性環境やクラスタ環境でアプリケーションを実行する場合に特に役立ちます。障害が発生したサーバー・ノード上でアプリケーションを実行している場合は、データ・コントロールのセッション状態の最新スナップショットをクラスタ内の別のノードにリストアできます。同様に、ユーザーのセッションが中断された場合は、フェイルオーバー・サポートを使用して、セッションが再開されたときにデータ・コントロールの状態をリストアできます。

フェイルオーバーを有効にするには、データ・コントロールの状態を保存およびリストアするためのメソッドを実装します。ADFモデル・ランタイムは、これらのメソッドの呼出しを管理し、データ・コントロールの状態の配布に関する詳細を処理します。EJBおよびBeanデータ・コントロールのフェイルオーバーのサポートには、次の3つのメソッドが必要です。これらのメソッドは、データ・コントロール・ウィザードを使用して、または手動でBeanクラスに追加できます。

4.5.1 コンストラクタからのPageFlowScopeのコールに関する必知事項

フェイルオーバーを実装するBeanデータ・コントロールでは、BeanのコンストラクタからPageFlowScopeをコールしないでください。アプリケーションのフェイルオーバー時に、データ・コントロール・オブジェクトはコンストラクタのコールによって再インスタンス化されます。そのコールはADFライフサイクルの外部で行われるので、FacesContextは使用できず、これを実装の基礎としているものもすべて使用できません。

4.6 Beanデータ・コントロールのカスタムCRUD操作の有効化

JPAベースのデータ・コントロールは、JPAのCRUD (作成/読取り/更新/削除)サポートと緊密に統合されています。たとえば、CreateDeleteなどの組込みデータ・コントロール操作は、実行時に呼び出されると、対応するJPA永続化メソッドを使用してこれらの操作を実行します。

ただし、データ・コントロールがJPAベースでない場合は、ユーザー独自の実装を提供してBeanのCRUDモデルをデータ・コントロールと統合できます。

「Beanデータ・コントロールの作成」ウィザードを使用してBeanデータ・コントロールを作成し、カスタムCRUDサポートを有効にするときに、Beanデータ・コントロール・クラスに追加されるメソッド・スタブを次に示します。

非JPAデータ・コントロールの作成については、第4.3.2項「非JPAベースのBeanデータ・コントロールを作成する方法」を参照してください。

4.7 非JPA Beanデータ・コントロールへのトランザクション動作の追加

「Javaサービス・ファサードの作成」ウィザードを使用してJPAベースのBeanを作成する際に、明示的なコミット・モデルをサポートするコードを生成できます。データ・コントロールがこのようなクラスに基づいている場合、Beanのトランザクション・メソッドはデータ・コントロール内でCommit操作およびRollback操作として公開されます。

非JPA Beanデータ・コントロールの場合は、Commit操作とRollback操作をサポートするデータ・コントロールを作成する際に、スタブ・メソッドを生成できます。これらのスタブ・メソッド内で、トランザクション動作のユーザー独自の実装を作成できます。実行時に、Commit操作とRollback操作が呼び出されると、これらのメソッドが呼び出されます。

「Beanデータ・コントロールの作成」ウィザードを使用してBeanデータ・コントロールを作成し、トランザクション・サポートを有効にするときに、Beanデータ・コントロール・クラスに追加されるメソッド・スタブを次に示します。


注意:

非JPAデータ・コントロールにトランザクション・サポートを実装するためには、カスタムCRUDメソッドも実装する必要があります。詳細は、第4.6項「Beanデータ・コントロールのカスタムCRUD操作の有効化」を参照してください。


非JPAデータ・コントロールの作成については、第4.3.2項「非JPAベースのBeanデータ・コントロールを作成する方法」を参照してください。

4.8 アノテーションを使用した非JPAデータ・コントロールのメタデータの宣言

Adapter Data Control Frameworkは、Beanデータ・コントロールのメタデータを指定するために使用できるJavaアノテーションをいくつか提供しています。

4.9 カスタムBeanデータ・コントロールの作成

Beanデータ・コントロール・タイプの定義と実装クラスを拡張して、カスタム・データ・コントロールを作成することによって、Beanデータ・コントロール・タイプの機能を変更または拡張できます。

カスタムBeanベースのデータ・コントロールの作成は、次の主なステップを組み合せて行います。

Beanデータ・コントロールとその他のデータ・コントロール・タイプによって使用されるクラスのAPIドキュメントについては、Oracle ADFモデルJava APIリファレンスを参照してください。