<af:dataFlavor>

dataFlavor data flavor


<af:dataFlavor>タグでは、ページの作成者が許可されたoracle.adf.view.rich.datatransfer.DataFlavorをドロップ・ターゲットに追加できます。DataFlavorでは、ドロップ・ターゲットが許可するJavaタイプのみでなく、このJavaタイプの追加のdiscriminantがカプセル化されます。DataFlavorのディスクリミナントでは、ページの作成者が特定のドラッグ・ソースからのみドロップできるドロップ・ターゲットを設定できます。

1つのドロップ・ターゲットに、複数の<af:dataFlavor>タグが許可されます。ドロップは、DataFlavorsを含む場合に許可されます。<af:dataFlavor>の親タグで有効なのは、<af:dropTarget>のみです。

この例は、java.util.Collectionのドロップを示すため、dropTargetのDataFlavorを追加する方法を示すものです。

<source>
              <af:outputText id="objectDropTarget" value="Fire these developers:">
                <af:dropTarget actions="COPY" dropListener="#{TestDropHandler.handleCollectionFireDrop}">
                  <af:dataFlavor flavorClass="java.util.Collection"/>
                </af:dropTarget>
              </af:outputText>
            

</source>

この例は、discriminant属性の使用方法を示すものです。ソースは、model=fileModelのcollectionDragSourceです。

<source>
               <af:outputText id="genericDropTarget" value="Drop a row here!" >
                  <af:dropTarget actions="COPY" dropListener="#{demoDropHandler.handleDrop}">
                     <af:dataFlavor flavorClass="org.apache.myfaces.trinidad.model.RowKeySet" discriminant="fileModel"/>
                  </af:dropTarget>
                </af:outputText>
            

</source>

属性

名前 ELのサポート 説明
flavorClass String なし

このDataFlavorの完全修飾Javaクラス名。ドロップがこのDataFlavorを含むとき、ドロップ・ターゲットではDataFlavorを使用して、Javaタイプを持つこのドロップからオブジェクトを取得することが保証されます。

配列タイプは、タイプに大カッコを追加すると指定できます(java.lang.Object[])。これに対し、現在、リッチ・クライアントのマーシャリング・コードではObject[]以外の配列タイプはサポートされていません。

discriminant String なし 文字列のディスクリミナント。Javaタイプのシステムを区別し、不要なドロップの発生を防ぐのに使用します。例として、2つのドラッグ・ソースとしてAおよびBがあり、これらは両方とも従業員、および従業員を使用するアルファおよびベータの2つのドロップ・ターゲットを生成するものとします。ドラッグの組合せとして有効なのは、A->アルファおよびB->ベータのみです。ページ作成者はこれを、次の方法で宣言的に指定できます。アルファが受容するのと同じDataFlavorディスクリミナントを持つ従業員を生成するようにAを設定し、 ベータが受容するのと同じDataFlavorディスクリミナントを持つ従業員を生成するようにBを設定します。