ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド
11gリリース1(11.1.1.6.0)
B52028-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

A Oracle ADF XMLファイル

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

この付録には、次の項が含まれます。

A.1 ADFメタデータ・ファイルの概要

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

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

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

A.2 ADFファイルの概要図

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

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

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

Oracle ADFファイル階層

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

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

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

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

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

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

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

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

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

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

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

A.2.3 Web構成ファイル

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

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

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

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

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

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

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

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

A.3 ADFファイルの構文図

図A-2は、ADFアプリケーション・モジュールをADF Business Componentsに対するサービス・インタフェースとして使用している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ファイル階層および構文図

ADFファイル階層および構文図

A.4 adfm.xml

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モデル・レイヤーの使用の詳細は、12.3.2項「「データ・コントロール」パネルの使用時の処理」を参照してください。

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

A.5 modelProjectName.jpx

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

このファイルは、プロジェクトのsrcディレクトリに保存されています。たとえば、Fusion Order DemoアプリケーションのStoreFrontServiceプロジェクトの./src/modelディレクトリの中にあるStoreFrontService.jpxファイルを見ると、SharedLookupServiceアプリケーション・モジュールの慣用名定義がわかります。共有アプリケーション・モジュール使用の詳細は、10.2.2項「共有アプリケーション・モジュール定義時の処理」を参照してください。

例A-2に、デフォルトの.jpxファイルの例を示します。

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

<JboProject
   xmlns="http://xmlns.oracle.com/bc4j"
   Name="StoreFrontService"
   Version="11.1.1.49.73"
   SeparateXMLFiles="true"
   PackageName="">
   <DesignTime>
      <Attr Name="_appModuleNames0"
         Value="oracle.fodemo.storefront.lookups.LookupServiceAM"/>
      <Attr Name="_domainNames0"
         Value="oracle.fodemo.storefront.entities.formatters.UppercaseOracleStyleDate"/>
      <Attr Name="_jprName" Value="../StoreFrontService.jpr"/>
      <Attr Name="_appModuleNames1"
         Value="oracle.fodemo.storefront.store.service.StoreServiceAM"/>
      <Attr Name="_NamedConnection" Value="FOD"/>
   </DesignTime>
   <Containee
      Name="links"
      FullName="oracle.fodemo.storefront.account.queries.links.links"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_VO" Value="true"/>
         <Attr Name="_VL" Value="true"/>
   </DesignTime>
   </Containee>
   <Containee
      Name="queries"
      FullName="oracle.fodemo.storefront.account.queries.queries"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_VO" Value="true"/>
      </DesignTime>
   </Containee>
   <Containee
      Name="associations"
      FullName="oracle.fodemo.storefront.entities.associations.associations"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_AS" Value="true"/>
      </DesignTime>
   </Containee>
   <Containee
      Name="entities"
      FullName="oracle.fodemo.storefront.entities.entities"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_EO" Value="true"/>
      </DesignTime>
   </Containee>
   <Containee
      Name="formatters"
      FullName="oracle.fodemo.storefront.entities.formatters.formatters"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_DO" Value="true"/>
      </DesignTime>
   </Containee>
   <Containee
      Name="lookups"
      FullName="oracle.fodemo.storefront.lookups.lookups"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_VO" Value="true"/>
         <Attr Name="_AM" Value="true"/>
      </DesignTime>
   </Containee>
   <Containee
      Name="links"
      FullName="oracle.fodemo.storefront.store.queries.links.links"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_VL" Value="true"/>
      </DesignTime>
   </Containee>   <Containee
      Name="queries"
      FullName="oracle.fodemo.storefront.store.queries.queries"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_VO" Value="true"/>
      </DesignTime>
   </Containee>
   <Containee
      Name="service"
      FullName="oracle.fodemo.storefront.store.service.service"
      ObjectType="JboPackage">
      <DesignTime>
         <Attr Name="_AM" Value="true"/>
      </DesignTime>
   </Containee>
   <AppModuleUsage
      Name="SharedLookupService"
      FullName="oracle.fodemo.storefront.lookups.LookupServiceAM"
      ConfigurationName="oracle.fodemo.storefront.lookups.null"
      SharedScope="1"/>
</JboProject>

A.6 bc4j.xcfg

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

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

例A-2に、Fusion Order Demoアプリケーションからのbc4j.xcfgファイルの例を示します。

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

<BC4JConfig version="11.1" xmlns="http://xmlns.oracle.com/bc4j/configuration">
   <AppModuleConfigBag ApplicationName="oracle.fodemo.storefront.store.service.StoreServiceAM">
      <AppModuleConfig 
             DeployPlatform="LOCAL" 
             JDBCName="FOD" 
             jbo.project="StoreFrontService"
             name="StoreServiceAMLocal"
             ApplicationName="oracle.fodemo.storefront.store.service.StoreServiceAM">
         <Database jbo.locking.mode="optimistic"/>
         <Security AppModuleJndiName="oracle.fodemo.storefront.store.service.StoreServiceAM"/>
      </AppModuleConfig>
      <AppModuleConfig 
               DeployPlatform="LOCAL" 
               JDBCName="FOD"
               jbo.project="StoreFrontService" 
               name="StoreServiceAMLocalWeb" 
               ApplicationName="oracle.fodemo.storefront.store.service.StoreServiceAM">
         <AM-Pooling jbo.ampool.initpoolsize="1"/>
         <Database jbo.locking.mode="optimistic"/>
         <Security AppModuleJndiName="oracle.fodemo.storefront.store.service.StoreServiceAM"/>
         <Custom fod.application.issoaenabled="true"/>
      </AppModuleConfig>
      <AppModuleConfig 
               name="StoreFrontService"
               ApplicationName="oracle.fodemo.storefront.store.service.StoreServiceAM"
               jbo.project="StoreFrontService" 
               DeployPlatform="SI">
         <AM-Pooling jbo.ampool.resetnontransactionalstate="true"/>
         <Database jbo.SQLBuilder="ORACLE" jbo.locking.mode="optimistic"
                   jbo.TypeMapEntries="Java"/>
         <Security AppModuleJndiName="oracle.fodemo.storefront.store.service.StoreServiceAM"/>
         <Custom JDBCDataSource="java:comp/env/jdbc/FODDS"/>
      </AppModuleConfig>
   </AppModuleConfigBag>
</BC4JConfig>

A.7 DataBindings.cpx

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

旧リリースのJDeveloperでFusion Webアプリケーションを作成したことのあるユーザーは、以前のように.cpxファイルにDataControls.dcxファイルからコピーされた情報がすべて含まれておらず、その参照のみが含まれていることに気付くはずです。.cpxファイルに変更を加える場合は、DataControls.dcxファイルを編集する必要があります。

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

A.7.1 DataBindings.cpxの構文

DataBindings.cpxファイルのトップレベル要素は、<DataControlConfigs>です。

<?xml version = '1.0' encoding = 'UTF-8'?>
<BC4JConfig version="11.0" xmlns="http://xmlns.oracle.com/bc4j/configuration">

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

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

図A-3 DataBindings.cpxファイルの構造定義のスキーマ

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

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


A.7.2 DataBindings.cpxの例

例A-3は、Fusion Order DemoアプリケーションのDataBindings.cpxファイルの構文を示しています。

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

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

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

<Application xmlns="http://xmlns.oracle.com/adfm/application"
             version="11.1.1.44.61" id="DataBindings" SeparateXMLFiles="false"
             Package="oracle.fodemo.storefront" ClientType="Generic"
             ErrorHandlerClass="oracle.fodemo.frmwkext.FODCustomErrorHandler">
  <definitionFactories>
    <factory nameSpace="http://xmlns.oracle.com/adf/controller/binding"
             className="oracle.adf.controller.internal.binding.
                                             TaskFlowBindingDefFactoryImpl"/>
    <factory nameSpace="http://xmlns.oracle.com/adfm/dvt"
             className="oracle.adfinternal.view.faces.dvt.model.binding.
                                             FacesBindingFactory"/>
  </definitionFactories>
  <pageMap>
    <page path="/home.jspx" usageId="homePageDef"/>
    ...
  </pageMap>
  <pageDefinitionUsages>
    <page id="homePageDef"
          path="oracle.fodemo.storefront.pageDefs.homePageDef"/>
    ...
  </pageDefinitionUsages>
  <dataControlUsages>
    <BC4JDataControl id="StoreServiceAMDataControl"
                     Package="oracle.fodemo.storefront.store.service"
                     FactoryClass="oracle.adf.model.bc4j.DataControlFactoryImpl"
                     SupportsTransactions="true" SupportsFindMode="true"
                     SupportsRangesize="true" SupportsResetState="true"
                     SupportsSortCollection="true"
                     Configuration="StoreServiceAMLocalWeb" syncMode="Immediate"
                     xmlns="http://xmlns.oracle.com/adfm/datacontrol"/>
    ...
  </dataControlUsages>
</Application>

A.8 pageNamePageDef.xml

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


注意:

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

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

詳細は、第12章「ページ定義ファイルでの作業」を参照してください。

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

A.8.1 PageDef.xmlの構文

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

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

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

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

例A-4 PageDef.xml要素の階層

<?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>: 実行可能項目として起動されるメソッドの定義

  • <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 Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』のトレイン・モデルの作成方法に関する項を参照してください。


表示可能

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


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

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

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

<parameter>

評価

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


id

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


option

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

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

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

  • Mandatory: 変数の値を提供する必要があることを示します。提供しない場合、バインディング・コンテナ例外がスローされます。


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 Business Components専用。ブール値により、コレクションがオブジェクト型であるかどうかを指定します。


RangeSize

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


Refresh

どのようなときに実行可能項目を起動するかを指定します。必要に応じて次のいずれかのプロパティを設定します。

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

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

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

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

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

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

  • prepareModelIfNeeded: その時点まで実行可能項目のリフレッシュが発生していない場合、prepareModelフェーズ中に実行可能項目が起動されます。前述のifNeededプロパティも参照してください。

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

  • renderModelIfNeeded: 必要に応じて、ページのrenderModelフェーズ中に実行可能項目が起動されます。前述のifNeededプロパティも参照してください。

  • refreshAfter: 2つの実行可能ファイル間の依存関係に対応するために使用します。たとえば、別の実行可能ファイルの後にこの実行可能ファイルがリフレッシュされるように条件を設定できます。


RefreshCondition

解決されたときに実行可能項目の起動条件を決定するEL式。たとえば、${!bindings.findAllServiceRequestIter.findModel}は、ADFバインディング・コンテキストのAllServiceRequestのイテレータに関するfindModeの値を解決します。ヒント: プロパティ・インスペクタを使用して、バインディング・コンテキスト(バインディング・ネームスペースまたはデータ・ネームスペース)、JSFマネージドBeanおよびJSPオブジェクトの使用可能オブジェクトから式を作成できます。


RefreshAfter

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


RowCountThreshold

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

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


Sortable

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

<invokeAction>

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 Business Componentsでのみ使用されます)。


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 Business Componentsにおいて、ローカル・モードが使用され、対応する属性に同じバリデータがすでに定義されている場合は、falseに設定できます。


BindingClass

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


ChangeEventPolicy

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

push

poll

ppr

none


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 Business Componentsにおいて、ローカル・モードが使用され、対応する属性に同じバリデータがすでに定義されている場合は、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のメッセージ・バンドルのエントリを参照します。

<ganttDataMap>


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

<gaugeDataMap>


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

<graph>

ApplyValidation

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


BindingClass

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


BoolVal

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


ChildAccessorName

ツリー内の特定の階層ノード・タイプについて、ノードの次のレベルを取得するために呼び出されるアクセッサの名前。


ControlClass

ADFによる内部使用属性。


CustomInputHandler

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


DefClass

ADFによる内部使用属性。


GraphPropertiesFile
Name

使用するグラフのタイプ(円グラフや棒グラフなど)を指定するXMLファイル。このXMLファイルを使用してグラフのビジュアル・プロパティをカスタマイズできます。これには、タイトル、サブタイトル、脚注、グラフのタイプ、凡例エリアおよび描画エリアなどのグラフ属性が含まれます。デフォルトのファイル名はBIGraphDef.xmlです。


GroupLabel

マスター/ディテール・フォームの場合は、データのグループ化に使用する属性を指定します。


id

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


IterBinding

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


NullValueId

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


SeriesLabel

提供されるデータに基づいて属性を定義します。


SeriesType

グラフが単一ビュー(SINGLE_SERIES)またはMASTER_DETAILのいずれに対するものかを指定します。

<graphDataMap>


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

<list>

ApplyValidation

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


BindingClass

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


ControlClass

ADFによる内部使用属性。


CustomInputHandler

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


DefClass

ADFによる内部使用属性。


id

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


IterBinding

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


ListIter

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


ListOperMode

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


MRUCount

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


MRUId

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


NullValueFlag

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


NullValueId

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


StaticList

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

<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パス。

<pivotTableDataMap>


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

<table> and <tree>

ApplyValidation

デフォルトでtrueに設定されます。trueの場合、controlBindingにより、バインディングに定義されたバリデータが実行されます。ADF Business Componentsにおいて、ローカル・モードが使用され、対応する属性に同じバリデータがすでに定義されている場合は、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内の行には、他の行が含まれることがあります(再帰的に)。


A.9 adfc-config.xml

ADFバインドなしタスク・フローのXMLソース・ファイルのデフォルト名はadfc-config.xmlです。各Fusion Webアプリケーションには、オプションで単一のADFバインドなしタスク・フローが含まれています。adfc-config.xmlファイルには、ユーザーがタスクを完了できるように対話するアクティビティ、制御フロー・ルールおよびマネージドBeanが含まれています。

adfc-config.xmlファイルは、ADFアプリケーションのユーザー・インタフェース・プロジェクトを基準として/public_html/WEB-INFと記述されるディレクトリにあります。

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

A.10 task-flow-definition.xml

ADFバインド・タスク・フローのXMLソース・ファイルはタスク・フロー定義と呼ばれます。このソース・ファイルの名前は、ADFタスク・フローの作成ウィザードの「タスク・フローID」フィールドで指定された値から取得されます。デフォルトでは、ADFタスク・フローの作成ウィザードを呼び出したときに、JDeveloperからファイル名task-flow-definition.xmlが提示されます。Fusion Webアプリケーションは、1つ以上のADFバインド・タスク・フローを持つことができます。バインド・タスク・フローはそれぞれ、独自のタスク・フロー定義ソース・ファイルを持ちます。バインド・タスク・フローの詳細は、14.1.2.2項「バインド・タスク・フロー」を参照してください。

A.11 adf-config.xml

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

application_root\.adf\META-INF

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

adf-config.xmlファイルの設定を変更すると、たとえば、ADFコントローラのメタデータの検証を有効または無効にできるようになります。また、クラスタ環境にFusion Webアプリケーションを展開するときに、メモリ・スコープをリプリケートする必要があるという例もあります。

リソース・バンドルのキャッシュを管理するように、adf-config.xmlファイルの設定を変更することもできます。ここでアプリケーションはEL式を使用して、実行時にリソースバンドルから文字列を取得します。この操作を実行して設定できるプロパティは次のとおりです。

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

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

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

例A-5は、adf-config.xmlファイルで、Fusion Order Demoアプリケーションから抽出したものを示しています。

例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">
    <JaasSecurityContext initialContextFactoryClass="oracle.adf.share.security.JAASInitialContextFactory"
                         jaasProviderClass="oracle.adf.share.security.providers.jps.JpsSecurityContext"
                         authorizationEnforce="true"
                         authenticationRequire="true"/>
    <CredentialStoreContext credentialStoreClass="oracle.adf.share.security.providers.jps.CSFCredentialStore"
                            credentialStoreLocation="../../src/META-INF/jps-config.xml"/>
  </sec:adf-security-child>
  <adf-controller-config xmlns="http://xmlns.oracle.com/adf/controller/config">
    <savepoint-datasource>java:comp/env/jdbc/FODDS</savepoint-datasource>
    <enable-implicit-savepoints>true</enable-implicit-savepoints>
  </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>

A.12 adf-settings.xml

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

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

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

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

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

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

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

A.13 web.xml

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

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

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

JSFのサーブレットとマッピングの構成設定は、JSFプロジェクトを最初に作成したときに、自動的に初期のweb.xmlファイルに追加されます。ADF Facesのフィルタとマッピング、およびリソース・サーブレットとマッピングの構成設定は、JSFページに最初にADF Facesコンポーネントを挿入したときに自動的に挿入されます。

詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Webユーザー・インタフェース開発者ガイド』の付録「ADF Facesの構成」を参照してください。

A.14 logging.xml

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

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