A Oracle ADF XMLファイル

この付録は、データ・モデル・プロジェクトとユーザー・インタフェース・プロジェクトで作成されるOracle ADFメタデータ・ファイルのリファレンスです。この情報は、これらのファイルに定義されたメタデータの内容を編集する場合に使用できます。

この付録の内容は次のとおりです。

ADFメタデータ・ファイルについて

Oracle Fusion Webアプリケーションでは、データに関する基本情報をまとめた様々なメタデータXMLファイルを使用し、これにより、データの特定のインスタンスの検索や操作が簡単になります。このようなファイルは、システムの実行時の動作を構成するために使用します。

Fusion Webアプリケーションのメタデータ・ファイルは、アプリケーションによって使用される構造化XMLファイルです。次の目的で使用されます。

  • アプリケーションのOracle ADFデータ・コントロールで使用できるパラメータ、メソッドおよび戻り値を指定します。

  • Oracle ADFバインディング・コンテキストのオブジェクトを作成し、それらのオブジェクトの実行時動作を定義します。

  • JSFおよびADF FacesのUIコンポーネントに関する構成情報を定義します。

  • Java EEアプリケーション・サーバーのアプリケーション構成情報を定義します。

ADFバインディングの場合、バインディング固有のエディタを使用して、バインディング・オブジェクトの実行時プロパティをカスタマイズできます。バインディング固有のエディタを開くには、ページ定義ファイルの「構造」ウィンドウを表示して、ポップアップ・メニューから「プロパティに移動」を選択します。

また、JDeveloperのXMLエディタでは、任意のメタデータ・ファイルの内容を参照および編集できます。これらのファイルを操作する最も簡単な方法は、「構造」ウィンドウと「プロパティ」ウィンドウを使用することです。「構造」ウィンドウで要素を選択し、「プロパティ」ウィンドウで(通常はドロップダウン・メニュー・オプションを選択して)その要素の属性値を定義します。この付録を使用して、Oracle ADF固有の要素の場合に選択できるオプションについて学習してください。

ADFファイルの概要図

Oracle ADFファイル階層図は、ADFビジネス・コンポーネントのデータ・コントロールをビュー・レイヤー・プロジェクトで操作するのに使用するメタデータ・ファイルの相互関係を理解するのに役立ちます。

Oracle ADFメタデータ・ファイル間の関係により、モデル・データ・プロジェクトとユーザー・インタフェース・プロジェクト間の依存性が定義されます。依存性は、ファイルのXML要素内でファイル参照として定義されます。モデル・プロジェクト内のこれらの設計時定義はViewControllerプロジェクト内のDataBindings.jpxファイルを参照し、このファイルはページ定義ファイルを参照します。

図A-1は、ADFビジネス・コンポーネント・アプリケーション・モジュールをJSF Webページに対するサービス・インタフェースとして使用しているFusion Webアプリケーションで操作する可能性のあるXMLメタデータ・ファイルの階層構造を示しています。

図A-1 Fusion WebアプリケーションにおけるOracle ADFファイル階層の概要

図A-1の説明
「図A-1 Fusion WebアプリケーションにおけるOracle ADFファイル階層の概要」の説明

Oracle ADFデータ・コントロール・ファイル

ADFビジネス・コンポーネントを含むFusion Webアプリケーションの場合、データ・コントロール実装ファイルはアプリケーションに含まれます。データ・コントロール用の参照は、アプリケーション・モジュールおよびビュー・オブジェクトXMLコンポーネントのディスクリプタ・ファイルによって提供されます。これらのファイルはbc4j.xcfgファイルとともに、データ・コントロールに必要な情報を提供します。

1つのプロジェクトでADFビジネス・コンポーネントを使用し、別のプロジェクトでADFビジネス・コンポーネント以外のデータ・コントロールを使用するアプリケーションは、DataControls.dcxファイルと、サポート用の<sessionbeanname>.xmlファイルおよび<beanname>.xmlファイルを持つ場合があります。

Oracle ADFデータ・バインディング・ファイル

Fusion Webアプリケーションの標準的な次のXML構成ファイルは、ユーザー・インタフェース・プロジェクトに表示されます。

  • adfm.xml: このファイルには、現在のプロジェクトで利用できるDataBindings.cpxファイルがリストされます。

    詳細は、「adfm.xml」を参照してください。

  • DataBindings.cpx: このファイルには、ページ・マップ、ページ定義参照およびデータ・コントロール参照が含まれます。このファイルは、(「構造」ウィンドウまたは「データ・コントロール」パネルで)UIコンポーネントのデータ・バインディングを最初に作成したときに作成されます。DataBindings.cpxファイルでは、アプリケーション全体のOracle ADFバインディング・コンテキストを定義します。バインディング・コンテキストは、アプリケーション全体にわたるバインディングおよびデータ・コントロールへのアクセスを提供します。DataBindings.cpxファイルには、各WebページのOracle ADFバインディングのメタデータを定義する<pagename>PageDef.xmlファイルへの参照も含まれます。

    詳細は、「DataBindings.cpx」を参照してください。

  • <pagename>PageDef.xml: ページ定義XMLファイルです。これにより、WebページのUIコンポーネントがデータまたはデータ・コントロールと関連付けられます。ユーザーが「データ・コントロール」パネルまたは「構造」ウィンドウを使用して、新しいWebページを設計するたびに、JDeveloperによりこのファイルが作成されます。これらのXMLファイルには、WebページのUIコンポーネントにデータを移入するバインディングを作成するためのメタデータが含まれます。ADFバインディングを参照するすべてのWebページに対して、バインディング定義を含む専用のページ定義ファイルが必要です。

    詳細は、「pageNamePageDef.xml」を参照してください。

Web構成ファイル

JSFアプリケーションに必要とされる次の標準XML構成ファイルは、ユーザー・インタフェース・プロジェクトに表示されます。

  • web.xml: アプリケーション構成の一部は、Java EEアプリケーション・デプロイメント・ディスクリプタのweb.xmlの内容によって決定されます。web.xmlファイルでは、サーバーが認識する必要のあるアプリケーションのすべての設定を定義します。このファイルで、ADFBindingFilterを設定してOracle ADFデータ・バインディングを構成します。追加の実行時設定には、サーブレットの実行時パラメータと初期化パラメータ、カスタム・タグ・ライブラリの場所、およびセキュリティ設定が含まれます。

    ADFデータ・バインディングとJSF構成オプションの詳細は、「web.xml」を参照してください。

    ADF Facesアプリケーションでは通常、web.xml以外に構成ファイルの独自のセットが使用されます。詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』trinidad-config.xmlでの構成に関する項を参照してください。

  • adfc-config.xml: ADFバインドなしタスク・フローの構成ファイル。構成ファイルには、バインドなしタスク・フローに格納されているアクティビティおよび制御フローに関するメタデータが含まれています。このファイルのデフォルト名はadfc-config.xmlですが、エンド・ユーザーはこの名前を変更できます。

    詳細は、「adfc-config.xml」を参照してください。

  • task-flow-definition.xml: ADFバインド・タスク・フローの構成ファイル。構成ファイルには、バインド・タスク・フローに格納されているアクティビティおよび制御フローに関するメタデータが含まれています。このファイルのデフォルト名はtask-flow-defintion.xmlか、エンド・ユーザーが「ADFタスク・フローの作成」ダイアログで指定した名前にできます。複数のタスク・フロー定義ファイルを同一のアプリケーションに格納できます。

    詳細は、「task-flow-definition.xml」を参照してください。

ADFファイルの構文図

Oracle ADFファイル構文図は、ADFアプリケーション・モジュールをADFビジネス・コンポーネントに対するサービス・インタフェースとして使用しているWebアプリケーションでのXMLメタデータ・ファイルの階層的な相互関係を理解するのに役立ちます。

図A-2は、ADFアプリケーション・モジュールをADFビジネス・コンポーネントに対するサービス・インタフェースとして使用しているWebアプリケーションで操作する可能性のあるXMLメタデータ・ファイルの階層構造を示しています。実行時には、これらのファイルから作成されたオブジェクトが次の順序で対話を行います。

  1. ADFのデータ・バインドされたWebページに対する最初のリクエストが発生すると、サーブレットは、web.xmlファイルに設定されているOracle ADFサーブレット・フィルタのADFBindingFilterを登録します。

  2. バインディング・フィルタにより、空のバインディング・コンテキストが作成されます。

  3. ページがレンダリングされるとき、バインディング・フィルタはバインディング・コンテキストにこのページについて、対応するPageDef.xmlのロードを依頼します。

  4. バインディング・コンテキストは、DataBindings.cpxファイルの<pagemap>要素による参照に従って<page>ファイルをロードし、バインディング・コンテナを作成します。

  5. adfm.xmlファイルはDataBindings.cpxコンテンツをロードし、<pageDefinitionUsage>要素に対する<pagemap>要素参照に基づいて適切なPageDef.xmlを見つけます。

  6. バインディング・コンテナのprepareModelフェーズは、関連するすべての実行可能ファイル(その大半はデフォルトでdeferredとマークされている)を準備し、リフレッシュします。

  7. イテレータ・バインディングの実行には、bc4j.xcfgファイルのADFビジネス・コンポーネントに対して指定されたデータ・コントロール・ファクトリを通じて発見されたデータ・コントロールの名前付きメソッドが参照されます。

  8. バインディング・コンテナは、マップされたWebページのpagenamePageDef.xmlファイルの<bindings>セクションに定義されたバインディングも作成します。

  9. #{bindings}という式を使用した式言語(EL)に基づくADFバインディングへのWebページ参照が、そのページのバインディング・コンテナにアクセスすることで解決されます。

  10. ページは、バインディング・コンテナのバインディングから使用可能なデータを取得します。

図A-2 ADF BCベースのWebアプリケーションにおけるOracle ADFファイル階層および構文図

この図は周囲のテキストで説明しています

adfm.xml

adfm.xmlファイルは、実行時に使用されるすべてのメタデータ・ファイルを素早く検索するためにADFフレームワークで使用されるレジストリのレジストリです。このレジストリXMLファイルには、4つのタイプのメタデータ・ファイル(.cpx、.dcx、.xcfg、.jpx)が記録されます。

adfm.xmlファイルには、実行時にデプロイされたアプリケーションに組み入れられている各設計時プロジェクトの、.cpx.dcx.jpxおよび.xcfgファイルのクラスパス相対パスが含まれています。adfm.xmlファイルは、動的に管理される「レジストリのレジストリ」として動作し、.cpx.dcx.jpxおよび.xcfgファイル(自身がメタデータのレジストリ)の迅速な検索に使用されます。

ファイル・レジストリは、ADFライブラリ・リソース・カタログのブラウズの実装や、ADFモデル・レイヤーの設計時、またマージや検索の実行中に幅広く使用されます。

開発者がページ上にバインディングを作成した場合、JDeveloperのプロジェクト・ソース・ツリーにメタデータ・ファイル(ページ定義など)が追加されます。その後adfm.xmlでそれぞれの場所をノートにとります。

プロジェクトが作成されると、adfm.xmlファイルはproject-root/adfmsrc/META-INF/adfm.xmlに配置されます。プロジェクト・レベルのアーカイブ・デプロイ・プロファイルでは、ファイル位置はMETA-INF/adfm.xmlとされます。

実行時、アプリケーション・クラスパスはスキャンされ、アプリケーションを構成する.cpxファイルのリストを作成します。次にアプリケーションが必要に応じて各.cpxをロードし、バインディング・コンテキストを作成します。ADFモデル・レイヤーの使用の詳細は、「「データ・コントロール」パネルの使用時の処理」を参照してください。

adfm.xmlファイルにより、次の4つのタイプのサブレジストリが現在記録されています。

  • DataBindingRegistry (.cpx)

  • DataControlRegistry (.dcx)

  • BusinessComponentServiceRegistry (.xcfg)

  • BusinessComponentProjectRegistry (.jpx)

modelProjectName.jpx

JDeveloperでは、modelProjectName.jpxファイルをレジストリとして使用してモデル・パッケージのコンテンツを追跡します。また、このファイルには、プロジェクトに存在する共有ADFアプリケーション・モジュールのメタデータも含まれ、デザインタイム・コンポーネントとランタイム・コンポーネントの両方で使用されます。

.jpxファイルにはJDeveloperが設計時に使用して、ユーザーによるADFビジネス・コンポーネントを使ったデータ・モデル・プロジェクトの作成を可能にするための構成情報が含まれます。また、共有アプリケーション・モジュールが実行時に使用される方法を定義するメタデータも含まれます。共有アプリケーション・モジュールは同じFusion Webアプリケーションのデータ・モデル・プロジェクトからアクセスできるため、JDeveloperは、ADFビジネス・コンポーネント・プロジェクト構成ファイルにある共有アプリケーション・モジュールのスコープを保持します。

このファイルは、プロジェクトのsrcディレクトリに保存されています。たとえば、Oracle ADFのSummitサンプル・アプリケーションは、Model.jpxファイルを、Modelプロジェクトの.src/oracle/summit/modelサブディレクトリに保存します。

次の例では、サンプルのデフォルト.jpxファイルを表示します。

<JboProject
   xmlns="http://xmlns.oracle.com/bc4j"
   Name="Model"
   Version="12.1.2.66.11"
   SeparateXMLFiles="true"
   PackageName="oracle.summit.model">
   <DesignTime>
      <Attr Name="_appModuleNames2"
         Value="oracle.summit.model.services.BackOfficeAppModule"/>
      <Attr Name="_jprName" Value="../../../../Model.jpr"/>
      <Attr Name="_appModuleNames1"
         Value="oracle.summit.model.services.CustomerSelfServiceAppModule"/>
      <Attr Name="_appModuleNames0"
         Value="oracle.summit.model.services.SummitAppModule"/>
      <Attr Name="_jbo.TypeMapEntries" Value="Java"/>
      <Attr Name="_NamedConnection" Value="summit_adf"/>
   </DesignTime>
   <Containee
      Name="assoc"
      PackageName="oracle.summit.model.entities.assoc"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_AS" Value="true"/>
      </DesignTime>
   </Containee>
   <Containee
      Name="entities"
      PackageName="oracle.summit.model.entities"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_EO" Value="true"/>
         <Attr Name="_VO" Value="true"/>
      </DesignTime>
   </Containee>
   <Containee
      Name="services"
      PackageName="oracle.summit.model.services"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_AM" Value="true"/>
      </DesignTime>
   </Containee>
   <Containee
      Name="links"
      PackageName="oracle.summit.model.views.links"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_VL" Value="true"/>
      </DesignTime>
   </Containee>
   <Containee
      Name="readonly"
      PackageName="oracle.summit.model.views.readonly"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_VO" Value="true"/>
      </DesignTime>
   </Containee>
   <Containee
      Name="views"
      PackageName="oracle.summit.model.views"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_VO" Value="true"/>
      </DesignTime>
   </Containee>
</JboProject>

bc4j.xcfg

bc4j.xcfgファイルには、ADFアプリケーション・モジュールに関するメタデータ情報と各アプリケーション・モジュール・インスタンスの実行時動作を管理するために構成されているランタイム・パラメータが含まれます。

bc4j.xcfgファイルには、アプリケーション・モジュール名に関するメタデータ情報、アプリケーション・モジュールが使用するデータベース接続、およびユーザーがアプリケーション・モジュールに対して構成した実行時パラメータが含まれています。

bc4j.xcfgファイルは、アプリケーション・モジュールのXMLコンポーネント定義に対して./commonと相対位置指定されるサブディレクトリにあります。同一のJavaパッケージ内の全アプリケーション・モジュールの構成はすべて、この同じファイルに保存されます。たとえば、Summit ADFサンプル・アプリケーションのModelプロジェクトの/Model/src/oracle/summit/model/services/commonディレクトリにあるbc4j.xcfgファイルを見ると、そのアプリケーション・モジュール用の構成があることがわかります。構成の編集の詳細は、「アプリケーション・モジュールのランタイム構成の変更方法」「プール構成パラメータの設定」を参照してください。

例A-1に、Summit ADFサンプル・アプリケーションにあるサンプルのbc4j.xcfgファイルを示します。

例A-1 サンプルbc4j.xcfgファイル

<?xml version = '1.0' encoding = 'UTF-8'?>
<BC4JConfig version="11.1" xmlns="http://xmlns.oracle.com/bc4j/configuration">
   <AppModuleConfigBag ApplicationName="oracle.summit.model.services.SummitAppModule">
      <AppModuleConfig name="SummitAppModuleLocal" DeployPlatform="LOCAL" JDBCName="summit_adf" jbo.project="oracle.summit.model.Model" java.naming.factory.initial="oracle.jbo.common.
       JboInitialContextFactory" ApplicationName="oracle.summit.model.services.SummitAppModule">
         <Database jbo.TypeMapEntries="Java"/>
         <Security AppModuleJndiName="oracle.summit.model.services.SummitAppModule"/>
      </AppModuleConfig>
      <AppModuleConfig name="SummitAppModuleShared" DeployPlatform="LOCAL" JDBCName="summit_adf" jbo.project="oracle.summit.model.Model" java.naming.factory.initial="oracle.jbo.common.JboInitialContextFactory"
                                 ApplicationName="oracle.summit.model.services.SummitAppModule">
         <AM-Pooling jbo.ampool.isuseexclusive="false" jbo.ampool.maxpoolsize="1"/>
         <Database jbo.TypeMapEntries="Java"/>
         <Security AppModuleJndiName="oracle.summit.model.services.SummitAppModule"/>
      </AppModuleConfig>
   </AppModuleConfigBag>
   <AppModuleConfigBag ApplicationName="oracle.summit.model.services.CustomerSelfServiceAppModule">
      <AppModuleConfig name="CustomerSelfServiceLocal" jbo.project="oracle.summit.model.Model" ApplicationName="oracle.summit.model.services.CustomerSelfServiceAppModule" 
                                          DeployPlatform="LOCAL" JDBCName="summit_adf">
         <Database jbo.TypeMapEntries="Java"/>
         <Security AppModuleJndiName="oracle.summit.model.services.CustomerSelfServiceAppModule"/>
      </AppModuleConfig>
      <AppModuleConfig name="CustomerSelfServiceShared" jbo.project="oracle.summit.model.Model" ApplicationName="oracle.summit.model.services.CustomerSelfServiceAppModule" 
                                         DeployPlatform="LOCAL" JDBCName="summit_adf">
         <AM-Pooling jbo.ampool.maxpoolsize="1" jbo.ampool.isuseexclusive="false"/>
         <Database jbo.TypeMapEntries="Java"/>
         <Security AppModuleJndiName="oracle.summit.model.services.CustomerSelfServiceAppModule"/>
      </AppModuleConfig>
   </AppModuleConfigBag>
   <AppModuleConfigBag ApplicationName="oracle.summit.model.services.BackOfficeAppModule">
      <AppModuleConfig name="BackOfficeAppModuleLocal" jbo.project="oracle.summit.model.Model" ApplicationName="oracle.summit.model.services.BackOfficeAppModule" DeployPlatform="LOCAL" JDBCName="summit_adf">
         <Database jbo.TypeMapEntries="Java"/>
         <Security AppModuleJndiName="oracle.summit.model.services.BackOfficeAppModule"/>
      </AppModuleConfig>
      <AppModuleConfig name="BackOfficeAppModuleShared" jbo.project="oracle.summit.model.Model" ApplicationName="oracle.summit.model.services.BackOfficeAppModule" DeployPlatform="LOCAL" JDBCName="summit_adf">
         <AM-Pooling jbo.ampool.maxpoolsize="1" jbo.ampool.isuseexclusive="false"/>
         <Database jbo.TypeMapEntries="Java"/>
         <Security AppModuleJndiName="oracle.summit.model.services.BackOfficeAppModule"/>
      </AppModuleConfig>
   </AppModuleConfigBag>
</BC4JConfig>

DataBindings.cpx

ADF Webアプリケーションでは、データバインドされたコンポーネントをページにドロップするとすぐに、DataBindings.cpxファイルが作成されます。DataBindings.cpxでは、プロジェクト内で使用される個々のページ定義ファイルの他、ADFビジネス・コンポーネント・アプリケーション・モジュールなどへのDataControlsマッピングも記録されます。

DataBindings.cpxファイルは、データ・コントロール使用名を、ビジュアル・エディタのWebページに初めてドロップしたときに、ユーザー・インタフェース・プロジェクト内に作成されます。DataBindings.cpxファイルでは、アプリケーション全体のOracle ADFバインディング・コンテキストが定義され、メタデータが提供されます。実行時には、このメタデータからOracle ADFバインディング・オブジェクトが作成されます。これは、ADFライブラリ・リソース・カタログのブラウズの実装により、また.cpx.dcxの設計時および実行時のマージや検索により広く使用されます。データ・バインドUIコンポーネントをドキュメントに挿入した時点で、実行時にOracle ADFバインディング・オブジェクトにアクセスするバインディング式がページに存在するようになります。

DataBindings.cpxファイルは、ユーザー・インタフェース・プロジェクト・フォルダの/srcディレクトリにあります。ファイル・ノードをダブルクリックすると、XMLソース・エディタにバインディング・コンテキスト記述が表示されます。(バインディング・コンテキスト・パラメータを編集するには、「プロパティ」ウィンドウを使用して、「構造」ウィンドウで適切なパラメータを選択します。)

DataBindings.cpx構文

DataBindings.cpxファイルの最上位レベルの要素は<Application>です。次に例を示します。

<?xml version="1.0" encoding="UTF-8" ?>
<Application xmlns="http://xmlns.oracle.com/adfm/application"
             version="11.1.1.56.60" id="DataBindings" SeparateXMLFiles="false"
             Package="oracle.summit.view" ClientType="Generic">

図A-3に、Oracle ADFのSummitスタンドアロン・サンプル・アプリケーションにあるDataBindings.cpxファイルの構造定義を示します。

図A-3 DataBindings.cpxファイルの構造

図A-3の説明が続きます
「図A-3 DataBindings.cpxファイルの構造」の説明

子要素の使用方法は、次のとおりです。

  • <definitionFactories>には、実行時に個別のネームスペースに関連付けられるADFバインディング・オブジェクトを作成するためのファクトリ・クラスが登録されます。ファクトリ・クラスは、ADFバインディングのタイプ(タスク・フロー・バインディングなど)に関連付けられたネームスペースに固有です。

  • <pageMap>要素: すべてのユーザー・インタフェースURLと、対応するページ定義慣用名をマップします。このマップは、実行時にURLをそのページ定義にマップするために使用されます。

  • <pageDefinitionUsages>は、ページ定義慣用名(BindingContainerインスタンス名)を、対応するページ定義にマップします。id属性は、使用IDを示します。path属性は、ページ定義へのフルパスを示します。

  • <dataControlUsages>は、データ・コントロール慣用名(短縮名)と、それらに対応する.dcxまたは.xcfgファイルのデータ・コントロール定義エントリへのパスのリストを宣言します。

表A-1に、DataBindings.cpxの各要素の属性を示します。

表A-1 DataBindings.cpxファイルの各要素の属性

要素の構文 属性 属性の説明

<definitionFactories> <factory/></definitionFactories>

nameSpace

URI。ページ定義慣用名における実行可能要素の位置を識別します。

className

完全修飾クラス名。ページ定義慣用名オブジェクトを作成するファクトリ・クラスの位置を識別します。

<pageMap> <page /></pageMap>

path

ディレクトリへのフルパス。ユーザー・インタフェース・ページの場所を識別します。

usageId

一意の修飾子。ADFページ定義ファイルに出現するページ定義IDを指定します。ADFバインディング・サーブレットは、受信URLリクエストを検出し、bindings変数が受信HTTPリクエストのURLに関連付けられたADFページ定義を指し示しているかどうかをチェックします。

<pageDefinitionUsages> <page/></pageDefinitionUsages>

id

一意の修飾子。ADFページ定義ファイルに出現するページ定義IDを参照します。

path

完全修飾パッケージ名。ユーザー・インタフェース・ページのADFページ定義ファイルの場所を識別します。

<dataControlUsages> <dc.../></dataControlUsages>

id

一意の修飾子。DataControls.dcxファイルの定義に従ってデータ・コントロールの使用を識別します。

path

完全修飾パッケージ名。データ・コントロールの場所を識別します。

DataBindings.cpxサンプル

例A-2に、Summit ADFサンプル・アプリケーションにあるDataBindings.cpxファイルの構造を示します。

ADF実行可能定義ファクトリ(factory要素)はclassName属性により指定され、namespaceと関連付けられます。実行時、ファクトリ・クラスは、特定のページ定義に関連付けられるADFバインディング・コンテナで使用されるバインディング・オブジェクトの作成を導く実行可能定義オブジェクトを作成します。ファクトリは2個のDataBindings.cpxファイル要素を通じて、ページ定義を見つけます。この要素の1つは設計時に割り当てられたページ定義ID (usageId属性)にページURLをマップするpageMap要素で、もう1つはプロジェクトまたはプロジェクト・クラスパスのページ定義の場所にこのIDをマップするpageDefinitionUsages要素です。

さらに、ADFビジネス・コンポーネント・データ・コントロール(BC4JDataControl要素)は、id属性によって名前を指定されます。Package属性とConfiguration属性の組合せは、指定されたパッケージの./commonサブディレクトリ内でbc4j.xcfgファイルの場所を識別するために使用されます。該当する構成には、アプリケーション・モジュール名とユーザーが構成済の全ランタイム・パラメータに関する情報が含まれています。

例A-2 サンプルDataBindings.cpxファイル

<?xml version="1.0" encoding="UTF-8" ?>
<Application xmlns="http://xmlns.oracle.com/adfm/application"
             version="11.1.1.56.60" id="DataBindings" SeparateXMLFiles="false"
             Package="oracle.summit.view" ClientType="Generic">
  <definitionFactories>
    <factory nameSpace="http://xmlns.oracle.com/adf/controller/binding"
             className="oracle.adf.controller.internal.binding.TaskFlowBindingDefFactoryImpl"/>
    <dtfactory className="oracle.adf.controller.internal.dtrt.binding.BindingDTObjectFactory"/>
    <factory nameSpace="http://xmlns.oracle.com/adfm/dvt"
             className="oracle.adfinternal.view.faces.dvt.model.binding.FacesBindingFactory"/>
  </definitionFactories>
  <pageMap>
    <page path="/index.jsf" usageId="oracle_summit_view_indexPageDef"/>
    <page path="/Customers.jsff" usageId="oracle_summit_view_CustomersPageDef"/>
    <page path="/orders/Orders.jsff"
          usageId="oracle_summit_view_OrdersPageDef"/>
    <page path="/carousel/InventoryControl.jsff" usageId="oracle_summit_view_InventoryControlTestPageDef"/>
  </pageMap>
  <pageDefinitionUsages>
    <page id="oracle_summit_view_CustomersPageDef"
          path="oracle.summit.view.pageDefs.CustomersPageDef"/>
    <page id="oracle_summit_view_indexPageDef"
          path="oracle.summit.view.pageDefs.indexPageDef"/>
    <page id="oracle_summit_view_OrdersPageDef"
          path="oracle.summit.view.pageDefs.OrdersPageDef"/>
    <page id="oracle_summit_view_InventoryControlTestPageDef"
          path="oracle.summit.view.pageDefs.InventoryControlPageDef"/>
  </pageDefinitionUsages>
  <dataControlUsages>
    <BC4JDataControl id="BackOfficeAppModuleDataControl"
                     Package="oracle.summit.model.services"
                     FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
                     SupportsTransactions="true" SupportsFindMode="true"
                     SupportsRangesize="true" SupportsResetState="true"
                     SupportsSortCollection="true"
                     Configuration="BackOfficeAppModuleLocal"
                     syncMode="Immediate"
                     xmlns="http://xmlns.oracle.com/adfm/datacontrol"/>
  </dataControlUsages>
</Application>

pageNamePageDef.xml

ADF Webアプリケーションでは、コンポーネントを「データ・コントロール」パネルからJSFページにドラッグするとすぐに、pageNamePageDef.xmlという名前のページ定義ファイルが作成されます。pageNamePageDef.xmlファイルには、ページに存在するデータ・バインドされた各UI要素のバインディング・メタデータが含まれます。

pageNamePageDef.xmlファイルは、「データ・コントロール」パネルまたは「構造」ウィンドウを使用して、データバインドされたコンポーネントをWebページに挿入するたびに作成されます。これらのXMLファイルにより、アプリケーションの各WebページのOracle ADFバインディング・コンテナが定義されます。バインディング・コンテナは、ページ内のバインディングへのアクセスを提供します。データバインドされたWebページごとに1つのXMLファイルが割り当てられます。

注意:

DataBindings.cpxファイルは、JSFページを対応するページ定義ファイルにマップします。ページ定義ファイルまたはJSFページの名前を変更した場合、JDeveloperにより、DataBindings.cpxファイルが自動的にリファクタされることはありませんDataBindings.cpxファイルでページのマッピングを手動で更新する必要があります。

PageDef.xmlファイルは、ユーザー・インタフェース・プロジェクトの/src/viewディレクトリにあります。「アプリケーション」ウィンドウでは、「アプリケーション・ソース」ノードのビュー・パッケージ内にこのファイルが表示されます。ファイル・ノードをダブルクリックすると、XMLソース・エディタにページ記述が表示されます。ページ記述パラメータを編集するには、「プロパティ」ウィンドウを使用して、「構造」ウィンドウで適切なパラメータを選択します。「ページ定義ファイルの処理」を参照してください。

ページ定義の生成方法は、単一値を戻すメソッドとコレクションを戻すメソッドでは大きな違いがあります。

PageDef.xml構文

PageDef.xmlファイルのトップレベルの要素は、<pageDefinition>です。

<pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
                version="11.1.1.59.23" id="<pagename>PageDef"
                Package="oracle.summit.view.pageDefs">

ここでのXMLネームスペース属性(xmlns)により、ADFバインディング・コンテナの実行時のバインド先となるURIを指定します。パッケージ名のみ編集可能であり、他のすべての属性はここに示したとおりの値に設定する必要があります。

次の例は、<pageDefinition>要素の子要素の階層を示しています。データ・コントロールを作成したビジネス・サービスごとに、独自の<AdapterDataControl>定義が割り当てられます。

<?xml version="1.0" encoding="UTF-8" ?>
<pageDefinition>
    <parameters>
        ...
    </parameters>
    <executables>
        ...
    </executables>
    <bindings>
        ...
    </bindings>
</pageDefinition>

子要素の使用方法は、次のとおりです。

  • <parameters>: ELでアクセス可能なページ・レベルのパラメータを定義します。これらのパラメータは、Webページ・リクエストに固有の情報を格納しており、バインディング式を通じてアクセスできます。

  • <executables>: ADFページ・ライフサイクルのprepareModelフェーズ中に実行される項目(メソッド、ビュー・オブジェクトおよびアクセッサ)のリストを定義します。実行されるメソッドは、<methodIterator>により定義されます。ライフサイクルでは、<executables>セクションにリストされた順序で実行処理が行われます。メソッドまたは操作が実行されるかどうかは、そのRefreshまたはRefreshCondition属性の値に依存します。データ・コントロールの組込み操作は、次の要素で定義されます。

    • <page>: ネストされたページの定義(バインディング・コンテナ)

    • <iterator>: DataControlsの名前付きコレクションの定義

    • <accessorIterator>: データ・コントロール階層のアクセッサを取得するための定義

    • <methodIterator>: 同じファイルのmethodActionにより定義された起動メソッドから戻されるイテレータを取得するための定義

    • <variableIterator>: バインディング・コンテナに対して宣言された変数を格納する内部イテレータ

    • <invokeAction>: 実行可能項目として起動されるメソッドの定義

      ノート:

      アプリケーションで、Fusion Webアプリケーションのテクノロジ・スタックにあるADFコントローラ・モジュールを使用していない場合は、invokeActionのみを使用します。アプリケーションでADFコントローラ・モジュールを使用している場合は、「メソッド・コール・アクティビティの使用」に示すように、タスク・フローのメソッド・コール・アクティビティを使用することをお薦めします。

  • <bindings>: <executables>内のエントリを参照して、バインディングが属性レベルのデータを抽出または送信するコレクションを取得します。

表A-2に、<pageDefinition>トップレベル要素の属性を示します。

表A-2 PageDef.xmlファイルの<pageDefinition>要素の属性

要素の構文 属性 属性の説明

<pageDefinition>

ControllerClass

コントローラがこのbindingContainerPageControllerオブジェクトをリクエストしたときに作成されるクラスの完全修飾名。

EnableTokenValidation

ポストバックが発生したときに、このbindingContainerで現在位置検証を有効化します。これにより、Web層の状態が特定ページのレンダリング状態と一致することが保証されます。

FindMode

FindModeは旧リリース(10.1.2)でのみ使用します。初期準備の際に、このbindingContainerをfindModeで開始するかどうかを示します。

MsgBundleClass

完全修飾パッケージ名。任意のバインディングの翻訳文字列を含むクラスを識別します。

SkipValidation

データ検証が行われたかどうかを判断します。サポートされる値は次のとおりです。

  • true: データ検証を省略します。ただし、クライアント側でのバインディング・レベルの属性検証は引き続き行われますので注意してください。たとえば、NULL以外の値や型変換エラーが検証されます。

  • false: 現在のページで参照されているデータ・コントロールすべての行をすべて検証します。これはデフォルト値です。

  • skipDataControls: 現在のページで変更されたイテレータ・バインディングの現在の行を検証します。

  • custom: アプリケーションがoracle.binding.BindingContainerValidatorインタフェースのインスタンスを実装し、バインディング・コンテナにあるCustomValidatorというEL式エントリを通じてこれを参照している場合は、customに設定します。

たとえば、トレイン・コンポーネントなどのデータ検証を省略する必要がある場合には、この属性に値を設定しておくと便利です。詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』トレイン・モデルの作成方法に関する項を参照してください。

Viewable

このバインディングおよび関連コンポーネントをレンダリングするかどうかを決定するため、実行時に解決されるEL式。

表A-3に、<parameters>の子要素の属性を示します。

表A-3 PageDef.xmlファイルの<parameters>要素の属性

要素の構文 属性 属性の説明

<parameter>

evaluate

eachUsefirstUseまたはinPrepareModelのいずれかでパラメータを評価するタイミングを指定します。

id

一意の識別子。ADFバインディングにより参照できます。

option

バインディング・コンテナ内での変数の使用方法を次のように示します。

  • Final: このバインディング・コンテナの慣用名がこのパラメータを渡すことができないことを示します。定義内のデフォルト値を使用する必要があります。

  • Optional: 変数の値を提供する必要がないことを示します。

  • Mandatory: 実行時にJavaまたはEL式を使用してパラメータ値を指定する必要があることを指定します。必須パラメータまたはバインディングに対して値を指定しないと、バインディングの検証時に例外がスローされます。

readonly

パラメータ値が変更可能であるかどうかを示します。パラメータ値の変更をアプリケーションに許可しない場合は、trueに設定します。

value

デフォルト値。EL式を使用できます。

表A-4に、PageDef.xml<executables>要素の属性を示します。

表A-4 PageDef.xmlファイルの<executables>要素の属性

要素の構文 属性 属性の説明

<accessorIterator>

Accessor

このバインディングによって定義されるその他のアクセッサを指定します。

Binds

イテレータのバインド先となるビューまたはアクションを指定します。

BeanClass

関連付けられたイテレータ(コレクション)のBeanのJava型を識別します。

CacheResults

trueの場合、リクエスト間でデータ・コレクションが管理されます。

ChangeEventRate

コンポーネントがこのイテレータを介してデータに関連付けられているとき、およびポーリング・イベント・モードのときの、イベントのレートを指定します。

DataControl

このイテレータ・バインディングにより参照されるコレクションを解析して、戻します。

id

一意の識別子。任意のADF値バインディングにより参照できます。

MasterBinding

マスターとして機能するデータ・コレクションをアクセッサ・イテレータのディテール・コレクションにバインドするmethodIterator(イテレータ)への参照。

ObjectType

ADFビジネス・コンポーネント専用。ブール値により、コレクションがオブジェクト型であるかどうかを指定します。

RangeSize

バインドされたコレクションからフェッチする、範囲内のデータ・オブジェクトの数を指定します。レンジは、コレクション内のデータ・オブジェクトのサブセットにアクセスする際に使用できるウィンドウを定義します。通常は、「データ・コントロール」パネルからオブジェクトをドラッグすることでコンポーネントを作成すると、レンジ・サイズは25に設定されます。セット全体を使用する場合、またはページに表示されるデータ・オブジェクトの数を制限したい場合は、RangeSizeを使用します。-1および0という値に特定の意味があることに注意してください。値-1の場合、使用可能なオブジェクトすべてがコレクションから返されます。値0の場合、コレクションがデータソースから取得を行うために収容しているのと同じ数のオブジェクトが返されます。RangeSize属性を指定しない場合、使用可能なすべてのオブジェクトが戻されます。

Refresh

どのようなときに実行可能項目を起動するかを指定します。Refresh属性はデフォルト値(deferred)から変更せず、実行可能項目をリフレッシュするかどうかを決定するにはRefreshCondition属性のEL式を使用することをお薦めします。完全を期すために、有効な属性値を次にリストします。

  • always: バインディング・コンテナが準備されるたびに、実行可能項目を起動します。ページが表示されたとき、ユーザーが変更を送信したとき、またはアプリケーションがページに再ポストしたときにリフレッシュが発生します。

  • deferred: リフレッシュは、別のバインディングが要求するか、この実行可能項目を参照するときに発生します。実行可能項目をリフレッシュするとパフォーマンスが低下することがあるため、レンダリングされるバインディングでdeferredが使用されている場合にのみリフレッシュが発生するように設定できます。これはADF Facesアプリケーションのデフォルト値です。

  • <default>: デフォルトでは常にdeferredに設定されます。

  • ifNeeded: その時点までリフレッシュが発生していないためにフレームワークが必要とする場合、実行可能項目のリフレッシュが発生します。たとえば、ページ定義の最初にディテールがリストされるようなアクセッサ階層が存在すると、マスターが2回リフレッシュされる可能性があります(ディテールに対して1回とマスターのイテレータに対して1回)。ifNeededを使用すると、リフレッシュの重複を回避できます。これは、ADF Faces以外のすべてのビュー・テクノロジに対するデフォルト値です。

  • never: コントローラ・フェーズのいずれかにおいて、アプリケーション自体で実行可能項目のリフレッシュをコールします。フレームワークによる実行可能項目のリフレッシュは実行されません。

  • prepareModel: ページのバインディング・コンテナが準備されるたびに、実行可能項目を起動します。

  • prepareModelIfNeeded: その時点までにその実行可能項目のリフレッシュが発生していない場合、モデル準備フェーズ中に実行可能項目を起動します。「ifNeeded」も参照してください。

  • renderModel: ページがレンダリングされるたびに、実行可能項目を起動します。

  • renderModelIfNeeded: 必要に応じて、ページのモデル・レンダリング・フェーズ中に実行可能項目を起動します。「ifNeeded」も参照してください。

RefreshCondition

実行可能項目をリフレッシュするかどうかを決定するEL式。実行可能項目のRefresh属性とともに使用して、実行可能項目のリフレッシュを予想可能にします。Refresh属性は、RefreshConditionに対して設定したEL式がtrueを戻した場合に評価されます。

RefreshAfter

実行可能ファイル間の依存性の処理に使用します。たとえば、別の実行可能ファイルの後にこの実行可能ファイルがリフレッシュされるように条件を設定できます。

RowCountThreshold

ユーザーが値として指定した行数が結果セットから戻されるかどうかを決定する値を指定します。RowCountThreshold0に設定した場合、イテレータはカウント問合せを実行して、推定される行カウントを結果セットに戻します。RowCountThreshold0未満に設定した場合、イテレータはカウント問合せを実行しません。

ユーザーがRowCountThresholdに指定した値を最大値として、イテレータにカウント問合せを実行させる場合は、RowCountThreshold0を超える値を設定します。推定される行カウントがRowCountThresholdを下回る場合は、推定される行カウントの行数が戻されます。推定される行カウントがRowCountThresholdを超える場合は、-1が戻されます。

Sortable

イテレータがソート可能かどうかを指定します。

<invokeAction>

アプリケーションで、Fusion Webアプリケーションのテクノロジ・スタックにあるADFコントローラ・モジュールを使用していない場合は、<invokeAction>のみを使用します。アプリケーションでADFコントローラ・モジュールを使用している場合は、「メソッド・コール・アクティビティの使用」に示すように、タスク・フローのメソッド・コール・アクティビティを使用することをお薦めします。

Binds

起動するアクションを指定します。任意のactionBindingで使用できます。また、EJBセッション・ファサード・データ・コントロールの場合、データ・コントロールにより公開されるfinderメソッドにバインドできます。EJBセッション・ファサード・データ・コントロールでサポートされる組込みのアクションは、次のとおりです。

  • Execute: データ・コレクションにより定義されたバインド・アクションを実行します。

  • Find: コレクションからデータ・オブジェクトを取得します。

  • First: データ・コレクション・レンジ内の最初のデータ・オブジェクトに移動します。

  • Last: データ・コレクション・レンジ内の最初のデータ・オブジェクトに移動します。

  • Next: データ・コレクション・レンジ内の最初のデータ・オブジェクトに移動します。現在のレンジ位置がすでに最後のデータ・オブジェクト上にある場合には、アクションは実行されません。

  • Previous: データ・コレクション・レンジ内の最初のデータ・オブジェクトに移動します。現在の位置がすでに最初のデータ・オブジェクト上にある場合には、アクションは実行されません。

  • setCurrentRowWithKey: 入力フィールドで指定された値から変換したStringとして行キーを渡します。行キーは、バインドされたデータ・コレクション内のデータ・オブジェクトの現状設定に使用されます。キーを渡す際に、フォームのURLには行キー値は表示されません。この操作は、データ・コレクションがマルチパートの属性キーを定義する場合に使用できます。

  • setCurrentRowWithKeyValue: setCurrentRowWithKeyと同様ですが、文字列化されたキーのかわりに主キー値を使用する場合に指定します。

id

一意の識別子。任意のADFアクション・バインディングにより参照できます。

Refresh

<accessorIterator>Refresh属性を参照してください。

RefreshCondition

<accessorIterator>RefreshCondition属性を参照してください。

<iterator>および<methodIterator>

BeanClass

関連付けられたイテレータ(コレクション)のBeanのJava型を識別します。

BindingClass

この属性は、後方互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。JDeveloperの現在のリリースでは使用されません。

Binds

<invokeAction>Binds属性を参照してください。

CacheResults

<accessorIterator>CacheResults属性を参照してください。

ChangeEventRate

コンポーネントがこのイテレータを介してデータに関連付けられているとき、およびポーリング・イベント・モードのときの、イベントのレートを指定します。

DataControl

このイテレータが関連付けられているbindingContext(.cpx)DataControl使用の名前。

DefClass

ADFによる内部使用属性。

id

一意の識別子。任意のADF値バインディングにより参照できます。

ObjectType

EJBセッション・ファサード・データ・コントロールでは使用されません(ADFビジネス・コンポーネントでのみ使用されます)。

RangeSize

<accessorIterator>RangeSize属性を参照してください。

Refresh

<accessorIterator>Refreshを参照してください。

RefreshAfter

ページをリフレッシュした後の条件を指定します。

RefreshCondition

<accessorIterator>RefreshCondition属性を参照してください。

RowCountThreshold

<accessorIterator>RowCountThresholdを参照してください。

<page>および<variableIterator>

id

一意の識別子。<page>の場合、このページに含まれるネストされたページ(リージョン)を示します。<variableIterator>実行可能項目の場合、任意のADF値バインディングによりこの識別子を参照できます。

ChangeEventRate

コンポーネントがこのイテレータを介してデータに関連付けられているとき、およびポーリング・イベント・モードのときの、イベントのレートを指定します。

path

<page>実行可能項目にのみ使用されます。高度な使用例として、別のページのバインディング・コンテナを参照する完全修飾パスを指定できます。

Refresh

<accessorIterator>Refresh属性を参照してください。

RefreshAfter

ページをリフレッシュした後の条件を指定します。

RefreshCondition

<accessorIterator>RefreshCondition属性を参照してください。

表A-5に、PageDef.xml <bindings>要素の属性を示します。

表A-5 PageDef.xmlファイルの<bindings>要素の属性

要素の構文 属性 属性の説明

<action>

Action

完全修飾パッケージ名。データ・コントロールの作成されるクラスを識別します。EJBセッション・ファサードの場合は、セッションBeanです。

BindingClass

この属性は、後方互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。

DataControl

このiteratorBindingまたはactionBindingが関連付けられているbindingContext(.cpx)DataControl使用の名前。

Execute

自動的に構成されたActionListenerプロパティで「データ・コントロール」パネルから操作をドロップするとき、デフォルトで使用されます。結果として、バインディング・アクションの操作を実行時に実行することになります。

InstanceName

アクションのインスタンス名を指定します。

IterBinding

このバインディングが関連付けられているbindingContaineriteratorBindingインスタンスを指定します。

Outcome

メソッド・アクション・バインディングの結果(一度Stringに変換されている)をJSFナビゲーション結果名として使用する場合に使用します。

<attributeValues>

ApplyValidation

デフォルトでtrueに設定されます。trueの場合、controlBindingにより、バインディングに定義されたバリデータが実行されます。ADFビジネス・コンポーネントにおいて、ローカル・モードが使用され、対応する属性に同じバリデータがすでに定義されている場合は、falseに設定できます。

BindingClass

この属性は、後方互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。

ChangeEventPolicy

ADS(アクティブ・データ・サービス)を使って実行される場合のコンポーネントのイベント戦略を指定します。次のいずれかを指定できます。

push

poll

ppr

なし

ControlClass

ADFによる内部使用属性。

CustomInputHandler

これは、指定された値バインディングに対してinputValueを処理するために使用されるoracle.jbo.uicli.binding.JUCtrlValueHandler実装のクラス名です。

DefClass

ADFによる内部使用属性。

id

一意の識別子。任意のADFアクション・バインディングにより参照できます。

IterBinding

このバインディングが関連付けられているbindingContaineriteratorBindingインスタンスを参照します。

NullValueId

リスト表示にNULL値を示すためのStringを含むbindingContainerのメッセージ・バンドルのエントリを参照します。

<button>

ApplyValidation

デフォルトでtrueに設定されます。trueの場合、controlBindingにより、バインディングに定義されたバリデータが実行されます。ADFビジネス・コンポーネントにおいて、ローカル・モードが使用され、対応する属性に同じバリデータがすでに定義されている場合は、falseに設定できます。

BindingClass

この属性は、後方互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。

BoolVal

このブール・リスト・バインディングの静的値のリストにおいて、0(ゼロ)索引の値がtruefalseのいずれを示すかを指定します。

ControlClass

ADFによる内部使用属性。

CustomInputHandler

特定の値バインディングのinputValueを処理する際に使用されるoracle.jbo.uicli.binding.JUCtrlValueHandler実装のクラス名です。

DefClass

ADFによる内部使用属性。

id

一意の識別子。任意のADFアクション・バインディングにより参照できます。

IterBinding

このバインディングが関連付けられているbindingContaineriteratorBindingインスタンスを参照します。

ListIter

このlistBindingのソース・リストに関連付けられているiteratorBindingを参照します。

ListOperMode

このリスト・バインディングをナビゲーション用とするか、値の静的リストとするか、またはLOV型のリストとするかを指定します。

NullValueFlag

このリスト・バインディングにNULL値を含めるかどうかを指定します。含める場合は、リストの最初または最後のどちらに表示するかを指定します。

NullValueId

リスト表示にNULL値を示すためのStringを含むbindingContainerのメッセージ・バンドルのエントリを参照します。

<gantt>

ChangeEventPolicy

コンポーネントの更新ポリシーを識別します。有効な値は、nonepprpushです。デフォルトはpprです。

xmlns

ADFによる内部使用属性。

CustomInputHandler

特定の値バインディングのinputValueを処理する際に使用されるoracle.jbo.uicli.binding.JUCtrlValueHandler実装のクラス名です。

id

一意の識別子。任意のADFアクション・バインディングにより参照できます。

IterBinding

このバインディングが関連付けられているbindingContaineriteratorBindingインスタンスを参照します。

NullValueId

リスト表示にNULL値を示すためのStringを含むbindingContainerのメッセージ・バンドルのエントリを参照します。

ganttDataMap

ADF Facesガント・チャート・コンポーネントのデータ・バインディングXMLをラップします。

<gauge>

type

ゲージ・タイプを識別します。

ledStyle

ゲージのLEDスタイルを識別します。

ChangeEventPolicy

コンポーネントの更新ポリシーを識別します。有効な値は、nonepprpushです。デフォルトはpprです。

xmlns

ADFによる内部使用属性。

CustomInputHandler

特定の値バインディングのinputValueを処理する際に使用されるoracle.jbo.uicli.binding.JUCtrlValueHandler実装のクラス名です。

id

一意の識別子。任意のADFアクション・バインディングにより参照できます。

IterBinding

このバインディングが関連付けられているbindingContaineriteratorBindingインスタンスを参照します。

NullValueId

リスト表示にNULL値を示すためのStringを含むbindingContainerのメッセージ・バンドルのエントリを参照します。

gaugeDataMap

ADF Faces gaugeコンポーネントのデータ・バインディングXMLをラップします。

<graph>

type

グラフ・タイプを識別します。

ChangeEventPolicy

コンポーネントの更新ポリシーを識別します。有効な値は、nonepprpushです。デフォルトはpprです。

xmlns

ADFによる内部使用属性。

CustomInputHandler

特定の値バインディングのinputValueを処理する際に使用されるoracle.jbo.uicli.binding.JUCtrlValueHandler実装のクラス名です。

id

一意の識別子。任意のADFアクション・バインディングにより参照できます。

IterBinding

このバインディングが関連付けられているbindingContaineriteratorBindingインスタンスを参照します。

NullValueId

リスト表示にNULL値を示すためのStringを含むbindingContainerのメッセージ・バンドルのエントリを参照します。

graphDataMap

ADF Faces graphコンポーネントのデータ・バインディングXMLをラップします。

<list>

ApplyValidation

デフォルトでtrueに設定されます。trueの場合、controlBindingにより、バインディングに定義されたバリデータが実行されます。ADFビジネス・コンポーネントにおいて、ローカル・モードが使用され、対応する属性に同じバリデータがすでに定義されている場合は、falseに設定できます。

BindingClass

この属性は、後方互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。

ControlClass

ADFによる内部使用属性。

CustomInputHandler

特定の値バインディングのinputValueを処理する際に使用されるoracle.jbo.uicli.binding.JUCtrlValueHandler実装のクラス名です。

DefClass

ADFによる内部使用属性。

id

一意の識別子。任意のADFアクション・バインディングにより参照できます。

IterBinding

このバインディングが関連付けられているbindingContaineriteratorBindingインスタンスを参照します。

ListIter

このlistBindingのソース・リストに関連付けられているiteratorBindingを参照します。

ListOperMode

このリスト・バインディングをナビゲーション用とするか、値の静的リストとするか、またはLOV型のリストとするかを指定します。

Mode

この属性の値のよって、リスト・バインディングが実際の値(Object)を渡すか、索引にある値の場所(Index)を渡すかが決まります。この属性の設定の詳細は、「選択リストの値に関する必知事項」を参照してください。

MRUCount

ユーザーが最近選択したアイテムをショートカットとして提供するときに、選択リストに表示するアイテム数を指定します。たとえば、フォームにサプライヤIDの選択リストを表示して、発注書を作りやすくすることができます。この例では、ユーザーは最近表示されたサプライヤのリストから選択できますが、このリストに表示される選択肢の数は、ユーザーが入力した値によって決定されます。デフォルトは0(ゼロ)で、選択リストには属性の値がすべて表示されます。

MRUId

MRUリストのための識別子行になるStringを指定します。

NullValueFlag

このリスト・バインディングにNULL値を含めるかどうかを指定します。含める場合は、リストの最初または最後のどちらに表示するかを指定します。

NullValueId

リスト表示にNULL値を示すためのStringを含むbindingContainerのメッセージ・バンドルのエントリを参照します。

StaticList

バインドされたリスト・コンポーネントにレンダリングされる値の静的リストを定義します。

<mapTheme>

ChangeEventPolicy

コンポーネントの更新ポリシーを識別します。有効な値は、nonepprpushです。デフォルトはpprです。

xmlns

ADFによる内部使用属性。

CustomInputHandler

特定の値バインディングのinputValueを処理する際に使用されるoracle.jbo.uicli.binding.JUCtrlValueHandler実装のクラス名です。

id

一意の識別子。任意のADFアクション・バインディングにより参照できます。

IterBinding

このバインディングが関連付けられているbindingContaineriteratorBindingインスタンスを参照します。

NullValueId

リスト表示にNULL値を示すためのStringを含むbindingContainerのメッセージ・バンドルのエントリを参照します。

mapThemeDataMap

ADFデータ視覚化地理マップ・コンポーネントに対するデータ・バインディングXMLをラップします。

<methodAction>

Action

完全修飾パッケージ名。データ・コントロールの作成されるクラスを識別します。EJBセッション・ファサードの場合は、セッションBeanです。

BindingClass

この属性は、後方互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。

ClassName

起動されるメソッドが属しているクラスです。

DataControl

このiteratorBindingまたはactionBindingが関連付けられているbindingContext(.cpx)DataControl使用の名前。

DefClass

ADFによる内部使用属性。

id

一意の識別子。任意のADFアクション・バインディングにより参照できます。

InstanceName

関連付けられたメソッドが起動されるJavaオブジェクト・インスタンスへのドット区切りのELパス。

IsLocalObjectReference

instanceNameに、このbindingContainerを基準として相対的に記述されたELパスが含まれる場合は、trueに設定します。

IsViewObjectMethod

instanceNameに、関連データ・コントロールのアプリケーション・モジュールを基準として相対的に記述されたインスタンス・パスが含まれる場合は、trueに設定します。

MethodName

このmethodActionBindingで起動する必要のある特定のインスタンスまたはクラスの操作の名前を示します。

RequiresUpdateModel

このアクションの起動前に、アクションでモデルの更新を必要とするかどうかを指定します。

ReturnName

関連付けられたメソッドにより戻される結果のELパス。

<pivotTable>

ChangeEventPolicy

コンポーネントの更新ポリシーを識別します。有効な値は、nonepprpushです。デフォルトはpprです。

xmlns

ADFによる内部使用属性。

CustomInputHandler

特定の値バインディングのinputValueを処理する際に使用されるoracle.jbo.uicli.binding.JUCtrlValueHandler実装のクラス名です。

id

一意の識別子。任意のADFアクション・バインディングにより参照できます。

IterBinding

このバインディングが関連付けられているbindingContaineriteratorBindingインスタンスを参照します。

NullValueId

リスト表示にNULL値を示すためのStringを含むbindingContainerのメッセージ・バンドルのエントリを参照します。

pivotTableDataMap

ADFデータ視覚化ピボット・テーブル・コンポーネントに対するデータ・バインディングXMLをラップします。

<table>および<tree>

ApplyValidation

デフォルトでtrueに設定されます。trueの場合、controlBindingにより、バインディングに定義されたバリデータが実行されます。ADFビジネス・コンポーネントにおいて、ローカル・モードが使用され、対応する属性に同じバリデータがすでに定義されている場合は、falseに設定できます。

BindingClass

この属性は、後方互換性を目的としており、このバインディング定義のランタイムを実装するクラスを示します。旧バージョンのJDeveloperで使用します。

CollectionModel

CollectionModelオブジェクト(ADF表コンポーネントが使用するデータ・モデル)にアクセスします。表の値は、CollectionModel属性にバインドされます。表は、イテレータ・バインディングからの結果セットをCollectionModelオブジェクト内にラップします。CollectionModel属性により、コレクションの各アイテムを、var属性を使用して表コンポーネント内で使用できるようになります。

ControlClass

テスト用の内部使用属性。

CustomInputHandler

特定の値バインディングのinputValueを処理する際に使用されるoracle.jbo.uicli.binding.JUCtrlValueHandler実装のクラス名です。

DefClass

ADFによる内部使用属性。

DiscrValue

階層タイプのバインディング(ツリー・ノードのタイプ定義)における多相化識別子の値を示します。この値により、多相ツリー・バインディングにレンダリングされるコレクションの特定行を、包含階層タイプのバインディングを使用してレンダリングするかどうかを指定します。

id

一意の識別子。任意のADFアクション・バインディングにより参照できます。

IterBinding

このバインディングが関連付けられているbindingContaineriteratorBindingインスタンスを参照します。

TreeModel

ADFツリー・コンポーネントで使用されるデータ・モデル。TreeModelは、CollectionModelを拡張して、コンテナ行のサポートを追加します。TreeModel内の行には、他の行が含まれることがあります(再帰的に)。

adfc-config.xml

ADF Facesでは、adfc-config.xmlを使用して構成を格納します。adfc-config.xmlファイルはバインドなしタスク・フローであり、ユーザーがタスクを完了できるようにやり取りするアクティビティ、制御フロー・ルールおよびマネージドBeanが含まれます。

adfc-config.xmlファイルは、ADF Fusion Webアプリケーション・テンプレートを使用してアプリケーションを作成するときにデフォルトでJDeveloperが作成するADFバインドなしタスク・フローのソース・ファイルです。デフォルトでは、JDeveloperは、adfc-config.xmlファイルを次のディレクトリに格納します。

application_root\ViewController\Web Content\WEB-INF

追加のバインドなしタスク・フローを作成すると、JDeveloperは、追加のバインドなしタスク・フローのソース・ファイルに次のファイル名を提案します。

adfc-configN.xml

ここでNは新しいバインドなしタスク・フローを作成するたびに増分する番号です。または、バインドなしタスク・フローのソース・ファイルに好きなファイル名を選択します。

バインドなしタスク・フローのソース・ファイルそれぞれに、バインドなしタスク・フローに追加したアクティビティのメタデータ、制御フロー・ルール、マネージドBeanが含まれ、エンド・ユーザーは、Fusion Webアプリケーションと連動してタスクを完了できます。

adfc-config.xmlファイルの有効なメタデータ・エントリを定義するXMLスキーマ定義ファイル(XSD)はadfc-config_1_0.xsdです。adfc-config_1_0.xsdファイルは、インストールしたJDeveloperの次のディレクトリにあるadf-controller-schema.jarファイルに格納されます。

jdev_install\oracle_common\modules\oracle.adf.model_12.1.2

JDeveloperのXSDビジュアル・エディタを使用してadfc-config_1_0.xsdファイルを表示します。このエディタを使用すると、adfc-config.xmlファイルの有効なメタデータ要素および属性を識別できます。

次の例は、ビュー・アクティビティ、制御フロー・ルールなどがまだ追加されていないバインドなしタスク・フローのソース・ファイルを示しています。

<?xml version="1.0" encoding="windows-1252" ?>
<adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
</adfc-config>

図A-4に、ADFタスク・フローのadfc-config.xmlファイルに対するSummitサンプル・アプリケーションのダイアグラム・ビューを示します。例A-3に、図A-4で表示したバインドなしタスク・フローの対応するソース表示を示します。

バインドなしタスク・フローの詳細は、「ADFタスク・フローのスタート・ガイド」を参照してください。

図A-4 Summit ADFタスク・フロー・サンプル・アプリケーションのadfc-config.xmlファイルのダイアグラム・ビュー

この図は周囲のテキストで説明しています

例A-3 Summit ADFタスク・フロー・サンプル・アプリケーションのadfc-config.xmlファイルのソース・ビュー

<?xml version="1.0" encoding="windows-1252" ?>
<adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
  <view id="index">
    <page>/index.jsf</page>
  </view>
  <managed-bean id="__1">
    <managed-bean-name>login</managed-bean-name>
    <managed-bean-class>oracle.summit.bean.LoginBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
  </managed-bean>
  <managed-bean id="__2">
    <managed-bean-name>WelcomePageBean</managed-bean-name>
    <managed-bean-class>oracle.summit.bean.WelcomePageBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
  </managed-bean>
</adfc-config>

task-flow-definition.xml

task-flow-definition.xmlファイルには、バインド・タスク・フローのメタデータ定義が格納されます。タスク・フローの生成時に、タスク・フロー定義のXMLファイル名および場所を指定できます。

作成した最初のADFバインド・タスク・フローのソース・ファイルに対してJDeveloperが提案するデフォルトのファイル名は、task-flow-definition.xmlです。このファイルにはバインド・タスク・フローのメタデータが格納されています。これには、バインド・タスク・フローに追加する、各ビュー・アクティビティ、メソッド・コール・アクティビティ、タスク・フロー・コールなどのエントリが含まれています。

JDeveloperは、作成する後続のバインド・タスク・フローに次のファイル名を提案します。

task-flow-definitionN.xml

ここでNは新しいバインド・タスク・フローを作成するたびに増分する番号です。または、バインド・タスク・フローのソース・ファイルに好きなファイル名を選択します。デフォルトでは、JDeveloperは、task-flow-definition.xmlファイルを次のディレクトリに格納します。

application_root\ViewController\Web Content\WEB-INF

バインド・タスク・フローのソース・ファイルの有効なメタデータ・エントリを定義するXMLスキーマ定義ファイル(XSD)は、インストールしたJDeveloperの次のディレクトリにあるadf-controller-schema.jarファイルに格納されます。

jdev_install\oracle_common\modules\oracle.adf.model_12.1.2

JDeveloperのXSDビジュアル・エディタを使用して、これらのファイルを表示し、バインド・タスク・フローのソース・ファイルの有効なメタデータ要素と属性を識別します。

次の例は、「タスク・フローの作成」ダイアログを使用して新しいバインド・タスク・フローを作成するときのソース・ファイルの内容を示しています。<task-flow-definition>要素によって、このファイルがバインド・タスク・フローとして識別されます。JDeveloperは、「タスク・フローの作成」ダイアログの「バインド・タスク・フローとして作成」チェック・ボックスを選択するときに<task-flow-definition>要素を生成します。<task-flow-definition>要素のid属性(task-flow-definition)の値は、「タスク・フローの作成」ダイアログの「タスク・フローID」フィールドに入力した値に対応します。<use-page-fragments/>要素は、このバインド・タスク・フローのすべてのビュー・アクティビティをページ・フラグメントと関連付ける必要があることを示しています。JDeveloperは、「タスク・フローの作成」ダイアログの「ページ・フラグメントを使用して作成」チェック・ボックスを選択するときにこのエントリを生成します。

<?xml version="1.0" encoding="windows-1252" ?>
<adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
  <task-flow-definition id="task-flow-definition">
    <use-page-fragments/>
  </task-flow-definition>
</adfc-config>

例A-4に、Summit ADFタスク・フロー・サンプル・アプリケーションのcustomers-task-flow-definition.xmlファイルを示します。図A-5の「構造」ウィンドウに示すように、アクティビティのエントリを表示できます。「ADFタスク・フローのスタート・ガイド」を参照してください。

図A-5 customers-task-flow-definition.xmlファイルの「構造」ビュー

図A-5の説明が続きます
「図A-5 customers-task-flow-definition.xmlファイルの「構造」ビュー」の説明

例A-4 customers-task-flow-definition.xmlファイルの「ソース」ビュー

<?xml version="1.0" encoding="windows-1252" ?>
<adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
  <task-flow-definition id="customer-task-flow-definition">
    <default-activity id="__1">isCustomerLogin</default-activity>
    <managed-bean id="__11">
      <managed-bean-name id="__9">CustomersBackingBean</managed-bean-name>
      <managed-bean-class id="__10">oracle.summit.backing.CustomersBackingBean</managed-bean-class>
      <managed-bean-scope id="__8">backingBean</managed-bean-scope>
    </managed-bean>
    <view id="Customers">
      <page>/customers/Customers.jsff</page>
    </view>
    <method-call id="SetCurrentRowWithKeyValue">
      <method>#{bindings.setCurrentRowWithKeyValue.execute}</method>
      <outcome>
        <fixed-outcome>setCurrentRowWithKey</fixed-outcome>
      </outcome>
    </method-call>
    <router id="isCustomerLogin">
      <case id="__4">
        <expression>#{securityContext.userInRole['Application Customer Role']}</expression>
        <outcome>customerLogin</outcome>
      </case>
      <default-outcome>notCustomerLogin</default-outcome>
    </router>
    <control-flow-rule id="__2">
      <from-activity-id>SetCurrentRowWithKeyValue</from-activity-id>
      <control-flow-case id="__3">
        <from-outcome>setCurrentRowWithKey</from-outcome>
        <to-activity-id>Customers</to-activity-id>
      </control-flow-case>
    </control-flow-rule>
    <control-flow-rule id="__5">
      <from-activity-id>isCustomerLogin</from-activity-id>
      <control-flow-case id="__6">
        <from-outcome>notCustomerLogin</from-outcome>
        <to-activity-id>Customers</to-activity-id>
      </control-flow-case>
      <control-flow-case id="__7">
        <from-outcome>customerLogin</from-outcome>
        <to-activity-id>SetCurrentRowWithKeyValue</to-activity-id>
      </control-flow-case>
    </control-flow-rule>
    <critical/>
    <use-page-fragments/>
  </task-flow-definition>
</adfc-config>

adf-config.xml

adf-config.xmlファイルには、アプリケーション・レベルの設定が含まれており、ADFアプリケーション・モジュールに対するフェイルオーバーの動作、すべてのビュー・オブジェクトに対するグローバルなフェッチ制限、リソース・バンドルのキャッシング、ページ・バインディングの自動リフレッシュなど、アプリケーションの実行時インフラストラクチャを管理します。

ADF Fusion Webアプリケーション・テンプレートを使用してアプリケーションを作成すると、JDeveloperによってadf-config.xmlファイルが生成されます。JDeveloperは、アプリケーション・レベルのディスクリプタ・ファイルを次のディレクトリに格納します。

application_root\.adf\META-INF

JDeveloperでは、このファイルは、「アプリケーション」ウィンドウの「アプリケーション・リソース」パネルで「ディスクリプタ」→「ADF META-INF」ノードを開くと見つかります。

adf-config.xmlファイルは、デプロイ時に定義するアプリケーション・レベルの設定を指定します。デプロイメント・プロファイルを使用して、アプリケーションのデプロイ時に使用される設定を指定することができます。Oracle Enterprise Managerを使用して、実行時に一部の設定を変更できます。

adf-config.xmlファイルの設定を変更することによって実現できるタスクの例には、次のものが含まれます。

  • ADFコントローラのメタデータの有効化および無効化

  • クラスタ環境にFusion Webアプリケーションをデプロイする場合のメモリー・スコープのレプリケート

  • アプリケーションがEL式を使用して実行時にリソース・バンドルから文字列を取得する場合にリソース・バンドルのキャッシュを管理するプロパティの構成

    構成できるプロパティを次に示します。

    • initial-size

      アプリケーションがキャッシュできるリソース・バンドルの個数の初期値を指定します。デフォルト値は100です。

    • max-size

      アプリケーションがキャッシュできるリソース・バンドルの個数の最大値を指定します。デフォルト値は100です。

    • load-factor

      デフォルト値は0.75です。

    • expire-time

      デフォルト値は43200秒(12時間)です。

      これらのプロパティは、adf-config.xmlファイルで<resource-bundle-cache>要素の属性値として指定できます。例A-5は、adf-config.xmlファイルで、アプリケーションに対するこれらの値を設定する方法を示しています。

    adf-config.xmlファイルでリソース・バンドルのキャッシュを設定するかわりに、Java Virtual Machine (JVM)のパラメータとして、リソース・バンドルのキャッシュ・プロパティを指定できます。プロパティをJVMのパラメータとして指定した場合、JVMが管理しているアプリケーションすべてに変更が適用されます。このため、adf-config.xmlファイルで、アプリケーションのリソース・バンドルのキャッシュ・プロパティを構成することを検討してください。JVMのパラメータとしてリソース・バンドルのキャッシュ・プロパティを指定することに決めた場合は、次のプロパティ名を使用します。

    • resource-bundle-cache-initial-size

    • resource-bundle-cache-max-size

    • resource-bundle-cache-load-factor

    • resource-bundle-cache-expire-time

実行時、Fusion Webアプリケーションは、META-INFディレクトリからadf-config.xmlファイルをロードします。このFusion Webアプリケーションにより、複数のadf-config.xmlファイルが検出された場合、ファイルのロードは停止され、警告がログに記録されます。

次のタスクは、adf-config.xmlファイルが変更されるかこのファイルの変更が要求されます。

例A-5に、アプリケーションのadf-config.xmlファイルのエントリ例を示します。

例A-5 サンプルadf-config.xmlファイル

<?xml version="1.0" encoding="windows-1252" ?>
<adf-config xmlns="http://xmlns.oracle.com/adf/config"
            xmlns:sec="http://xmlns.oracle.com/adf/security/config">
  <sec:adf-security-child xmlns="http://xmlns.oracle.com/adf/security/config">
    <CredentialStoreContext credentialStoreClass=
                                "oracle.adf.share.security.providers.jps.CSFCredentialStore"
                                      credentialStoreLocation="../../src/META-INF/jps-config.xml"/>
    <!-- The Configure ADF Security wizard modifies JaasSecurityContext settings -->
    <JaasSecurityContext initialContextFactoryClass=
                                "oracle.adf.share.security.JAASInitialContextFactory"
                         jaasProviderClass=
                                "oracle.adf.share.security.providers.jps.JpsSecurityContext"
                         authorizationEnforce="true"
                         authenticationRequire="true"/>
  </sec:adf-security-child>
  <adf-controller-config xmlns="http://xmlns.oracle.com/adf/controller/config">
    <savepoint-datasource>java:comp/env/jdbc/summit_adfDS</savepoint-datasource>
    <enable-implicit-savepoints>true</enable-implicit-savepoints>
    <unauthorized-region-taskflow>/WEB-INF/task-flow-definition.xml</unauthorized-region-taskflow>
  </adf-controller-config>
  <adf-faces-config xmlns="http://xmlns.oracle.com/adf/faces/config">
    <persistent-change-manager>
      <persistent-change-manager-class>
           oracle.adf.view.rich.change.MDSDocumentChangeManager
      </persistent-change-manager-class>
    </persistent-change-manager>
    <taglib-config>
      <taglib uri="http://xmlns.oracle.com/adf/faces/rich">
        <tag name="calendar">
          <attribute name="activeDay">
            <persist-changes>true</persist-changes>
          </attribute>
        </tag>
        <!-- Additional tags omitted to make this example concise -->
        <tag name="table">
          <attribute name="filterVisible">
            <persist-changes>true</persist-changes>
          </attribute>
        </tag>
      </taglib>
    </taglib-config>
  </adf-faces-config>
  <adf-mds-config xmlns="http://xmlns.oracle.com/adf/mds/config">
    <mds-config xmlns="http://xmlns.oracle.com/mds/config" version="11.1.1.000">
      <cust-config>
        <match path="/">
          <customization-class name="oracle.adf.share.config.UserCC"/>
        </match>
      </cust-config>
    </mds-config>
  </adf-mds-config>
  <adf-adfm-config xmlns="http://xmlns.oracle.com/adfm/config">
    <defaults rowLimit="100"/>
    <startup>
      <amconfig-overrides>
        <config:Database jbo.SQLBuilder="Oracle" jbo.locking.mode="optimistic"/>
      </amconfig-overrides>
    </startup>
  </adf-adfm-config>
<!-- Properties to manage the caching of a resource bundle in your application -->
<adf-resourcebundle-config xmlns="http://xmlns.oracle.com/adf/resourcebundle/config">
    <applicationBundleName>
       	path-to-resource-bundle/bundle-name
    </applicationBundleName>
    <resource-bundle-cache initial-size="20" max-size="100" expire-time="30000" load-factor=".75"/>
    <bundleList>
      <bundleId override="true">
         	package.BundleID
      </bundleId>
    </bundleList>
  </adf-resourcebundle-config>
</adf-config>

adf-settings.xml

adf-settings.xmlファイルは、ADFアプリケーション開発者がカスタムADFフェーズ・リスナーを使用してADFライフサイクルを拡張およびカスタマイズするために使用します。

adf-settings.xmlファイルには、プロジェクト・レベルおよびライブラリ・レベルの設定(ADF Facesヘルプ・プロバイダ、ADFコントローラ・フェーズ・リスナーなど)が保持されます。

adf-settings.xmlの構成設定は固定で、アプリケーション・デプロイメント時またはその後に変更できません。アプリケーションに複数のadf-settings.xmlファイルがあることがあります。それらの構成の内容をマージするのはadf-settings.xmlファイル・ユーザーの役目です。

JDeveloperは、次の場合にadf-settings.xmlファイルを作成します。

  • ADF Fusion Webアプリケーション・テンプレートを使用してアプリケーションを作成するとき

  • ADFページ・フロー(ADFコントローラ)を既存のプロジェクトに機能として追加するとき

デフォルトでは、JDeveloperは、adf-settings.xmlファイルを次のディレクトリに格納します。

application_root\ViewController\src\META-INF

次のタスクでは、adf-settings.xmlファイルが変更されるか、またはユーザーによるこのファイルの変更が要求されます。

adf-settings.xmlファイルの編集方法の詳細は、『Oracle ADF FacesによるWebユーザー・インタフェースの開発』adf-settings.xmlでのADF Facesの構成方法に関する項を参照してください。

例A-6に、フェーズ・リスナーおよびヘルプ・プロバイダ向けに設定されたadf-setting.xmlファイルのサンプルを示します。

例A-6 サンプルadf-settings.xmlファイル

<?xml version="1.0" encoding="windows-1252" ?>
<adf-settings xmlns="http://xmlns.oracle.com/adf/config">
  <adfc-controller-config xmlns="http://xmlns.oracle.com/adf/controller/config">
    <lifecycle>
      <phase-listener>
        <listener-id>SummitPhaseListener</listener-id>
        <class>oracle.summit.listeners.SummitPhaseListener</class>
      </phase-listener>
    </lifecycle>
  </adfc-controller-config>
  <adf-faces-config>
    <help-provider prefix="MYAPP">
      <help-provider-class>oracle.summit.MyHelpProvider</help-provider-class>
      <property>
        <property-name>myCustomProperty</property-name>
        <value>someValue</value>
      </property>
    </help-provider>
  </adf-faces-config>
</adf-settings>

web.xml

web.xmlファイルは、Java WebアプリケーションでURLがサーブレットにマップされる方法や認証を必要とするURLなどの情報を判別するためにデプロイメント・ディスクリプタ・ファイルとして使用されます。このファイルは、サーバーが認識する必要のあるADFアプリケーションのすべての設定を定義するXMLドキュメントです。

Oracle ADFには、標準のweb.xmlデプロイメント・ディスクリプタ・ファイルに固有の構成設定があります。

JDeveloperでJSFテクノロジを使用するプロジェクトを作成すると、デフォルト設定を含む初期のweb.xmlファイルが/WEB-INFに自動的に作成されます。ファイルを編集するには、「アプリケーション」ウィンドウでweb.xmlをダブルクリックし、XMLエディタで開きます。

次の設定は、JSFおよびADF Facesを使用するすべてのアプリケーションのweb.xmlで構成する必要があります。

  • ADFライブラリ・リソース・サーブレットとマッピング: アプリケーション・クラス・パスのADFライブラリJARファイルのWebアプリケーション・リソース(イメージ、スタイル・シート、JavaScriptライブラリ)として動作します。

    デフォルトでは、イメージなどの静的Webアプリケーション・リソース(ADFライブラリのリソースを含む)には、364日の失効期限設定があります。この失効期間設定では、次のイベントのいずれかが発生するまで、静的Webアプリケーション・リソースの検証をクライアントがサーバーにリクエストしないことが要求されます。

    • 失効期限が切れる

    • ブラウザ・キャッシュに静的リソースが含まれなくなる

    • ユーザーがページ・リフレッシュを実行する

    クライアントがサーバーにリクエストを行い、リソースが変更しなかった場合、サーバーは、本文なしでHTTP 304応答(変更なし)を返します。

    初期化パラメータをweb.xmlファイルに追加して、ADFライブラリのすべての静的Webアプリケーション・リソースに対する失効期限設定364日をオーバーライドできます。次の例に、多くの例を使用してこれらの初期化パラメータを設定する方法を示します。

    <!-- Expires all static resources in 30 days --> 
     <init-param> 
       <param-name>expires</param-name> 
       <param-value>60*60*24*30</param-value>  
     </init-param> 
     
    <!-- Expires static resources with the .js file extension in 1 day --> 
     <init-param> 
       <param-name>expires.js</param-name> 
       <param-value>60*60*24</param-value>     
     </init-param> 
     
    <!-- Turns off staleness setting. Use for testing --> 
     <init-param> 
       <param-name>expires</param-name> 
       <param-value>OFF</param-value>     
     </init-param> 
    

    次の例は、デフォルトのファイル拡張子を示しています。extensionsパラメータ値を構成して必要なファイル拡張子を含めることによって、ファイル拡張子を追加できます。ファイル拡張子の前後に「.」を付ける必要があることに注意してください。次の例に、キャッシュ制御の可視性を指定する方法も示します。

    <!-- Specify file extensions for a number of different file formats -->
     <init-param> 
       <param-name>extensions</param-name> 
       <param-value>.png.jpg.jpeg.gif.js.css.</param-value> 
     </init-param> 
     
    <!-- Specify visibility for cache control, for example -->
     <init-param> 
       <param-name>visibility</param-name> 
       <param-value>Public</param-value> 
     </init-param> 
    
  • JSFのサーブレットとマッピング: JSFを使用してユーザー・インタフェースを構築するWebアプリケーションのリクエスト処理ライフサイクルを管理するサーブレットjavax.faces.webapp.FacesServlet

  • ADF Facesのフィルタとマッピング: AdfFacesContextオブジェクトを構成してADF Facesを適切に初期化するためのサーブレット・フィルタ。このフィルタでは、ファイル・アップロードも処理されます。

JSFのサーブレットとマッピングの構成設定は、JSFプロジェクトを最初に作成したときに、自動的に初期のweb.xmlファイルに追加されます。ADF Facesのフィルタとマッピング、およびリソース・サーブレットとマッピングの構成設定は、JSFページに最初にADF Facesコンポーネントを挿入したときに自動的に挿入されます。『Oracle ADF FacesによるWebユーザー・インタフェースの開発』「ADF Facesの構成」を参照してください。

logging.xml

ADFロガーはWebLogicエンタープライズ・マネージャに統合されおり、実行時にログレベルを柔軟に調整できるようになります。ロギング・セッションを構成するには、logging.xmlファイルを編集します。

ADFロガーは診断ツールの一種で、アプリケーションのデバッグ時にJDeveloperでこのツールを使用して、実行時トレース・メッセージをキャプチャできます。このツールの使用を設定するには、logging.xmlファイルを編集します。

logging.xmlファイル、およびADF Loggerの使用の詳細は、「ADF Loggerの使用」を参照してください。