JavaTM Platform
Standard Ed. 6

java.awt.datatransfer
クラス SystemFlavorMap

java.lang.Object
  上位を拡張 java.awt.datatransfer.SystemFlavorMap
すべての実装されたインタフェース:
FlavorMap, FlavorTable

public final class SystemFlavorMap
extends Object
implements FlavorMap, FlavorTable

SystemFlavorMap は、プラットフォーム固有のデータ形式に対応する「ネイティブ」(文字列) と、プラットフォームから独立した MIME タイプに対応する「フレーバ」(DataFlavors) の間の、構成可能なマップです。このマッピングは、Java とネイティブアプリケーションの間、および別個の VM 内の Java アプリケーション間でデータを転送するために、データ転送サブシステムによって使用されます。

Sun の参照実装では、デフォルトの SystemFlavorMap はファイル jre/lib/flavormap.properties、および AWT プロパティーの AWT.DnD.flavorMapFileURL で参照される URL のコンテンツによって初期化されます。詳細は、flavormap.properties を参照してください。

導入されたバージョン:
1.2

メソッドの概要
 void addFlavorForUnencodedNative(String nat, DataFlavor flav)
          単一の String ネイティブから単一の DataFlavor へのマッピングを追加します。
 void addUnencodedNativeForFlavor(DataFlavor flav, String nat)
          指定された DataFlavor (および指定された DataFlavor と等しいすべての DataFlavor) から、指定された String ネイティブにマッピングを追加します。
static DataFlavor decodeDataFlavor(String nat)
          DataFlavor として使用するために String ネイティブをデコードします。
static String decodeJavaMIMEType(String nat)
          Java MIME タイプとして使用するために String ネイティブをデコードします。
static String encodeDataFlavor(DataFlavor flav)
          String ネイティブとして使用するために DataFlavor を符号化します。
static String encodeJavaMIMEType(String mimeType)
          String ネイティブとして使用するために MIME タイプを符号化します。
static FlavorMap getDefaultFlavorMap()
          このスレッドの ClassLoader の、デフォルトの FlavorMap を返します。
 List<DataFlavor> getFlavorsForNative(String nat)
          指定された String ネイティブをデータ転送サブシステムによって変換できるその変換先の DataFlavorList を返します。
 Map<String,DataFlavor> getFlavorsForNatives(String[] natives)
          指定された String ネイティブの、もっとも適切な DataFlavor への Map を返します。
 List<String> getNativesForFlavor(DataFlavor flav)
          指定された DataFlavor をデータ転送サブシステムによって変換できるその変換先の String ネイティブのList を返します。
 Map<DataFlavor,String> getNativesForFlavors(DataFlavor[] flavors)
          指定された DataFlavor の、もっとも適切な String ネイティブへの Map を返します。
static boolean isJavaMIMEType(String str)
          指定された String が符号化された Java MIME タイプであるかどうかを返します。
 void setFlavorsForNative(String nat, DataFlavor[] flavors)
          指定された String ネイティブの現在のマッピングを破棄して、指定された DataFlavor への新しいマッピングを作成します。
 void setNativesForFlavor(DataFlavor flav, String[] natives)
          指定された DataFlavor、および指定された DataFlavor と等しいすべての DataFlavor の現在のマッピングを破棄して、指定された String ネイティブへの新しいマッピングを作成します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

getDefaultFlavorMap

public static FlavorMap getDefaultFlavorMap()
このスレッドの ClassLoader の、デフォルトの FlavorMap を返します。


getNativesForFlavor

public List<String> getNativesForFlavor(DataFlavor flav)
指定された DataFlavor をデータ転送サブシステムによって変換できるその変換先の String ネイティブのList を返します。List は、最適なネイティブからもっとも不適なものへソートされます。つまり、基本となるネイティブプラットフォームに指定されたフレーバのデータをもっともよく反映するのは、最初のネイティブということになります。

指定された DataFlavor が以前にデータ転送サブシステムに知られておらず、データ転送サブシステムがこの DataFlavor を既存のネイティブに変換できない場合は、このメソッドを呼び出すことによって、指定された DataFlavor と、その MIME タイプをネイティブとして符号化したものとの間で、双方向のマッピングが確立されます。

定義:
インタフェース FlavorTable 内の getNativesForFlavor
パラメータ:
flav - 対応するネイティブが返される DataFlavornull が指定されている場合、データ転送サブシステムに現在知られているすべてのネイティブが順序不定で返される
戻り値:
プラットフォーム固有のデータ形式のプラットフォーム固有の表現である java.lang.String オブジェクトの java.util.List
導入されたバージョン:
1.4
関連項目:
encodeDataFlavor(java.awt.datatransfer.DataFlavor)

getFlavorsForNative

public List<DataFlavor> getFlavorsForNative(String nat)
指定された String ネイティブをデータ転送サブシステムによって変換できるその変換先の DataFlavorList を返します。List は、最適な DataFlavor からもっとも不適なものへソートされます。つまり、Java アプリケーションに指定されたネイティブのデータをもっともよく反映するのは、最初の DataFlavor ということになります。

指定されたネイティブが以前にデータ転送サブシステムに知られておらず、そのネイティブが適切に符号化されている場合は、このメソッドを呼び出すことによって、指定されたネイティブと、デコードされたバージョンのネイティブを MIME タイプとして持つ DataFlavor との間で、双方向のマッピングが確立されます。

指定されたネイティブが適切にネイティブに符号化されておらず、このネイティブのマッピングが setFlavorsForNative によって変更されていない場合、List の内容はプラットフォームに依存しますが、null を返すことはできません。

定義:
インタフェース FlavorTable 内の getFlavorsForNative
パラメータ:
nat - 対応する DataFlavor が返されるネイティブ。null が指定されている場合、 データ転送サブシステムに現在知られているすべての DataFlavor が順序不定で返される
戻り値:
プラットフォーム固有の指定されたネイティブ内にあるプラットフォーム固有のデータの変換先になれる DataFlavor オブジェクトの java.util.List
導入されたバージョン:
1.4
関連項目:
encodeJavaMIMEType(java.lang.String)

getNativesForFlavors

public Map<DataFlavor,String> getNativesForFlavors(DataFlavor[] flavors)
指定された DataFlavor の、もっとも適切な String ネイティブへの Map を返します。各ネイティブ値は、指定されたフレーバに対して getNativesForFlavor が返す List の最初のネイティブと同じになります。

指定された DataFlavor が以前にデータ転送サブシステムに知られていなかった場合、このメソッドを呼び出すことによって、指定された DataFlavor と、その MIME タイプをネイティブとして符号化したものとの間で、双方向のマッピングが確立されます。

定義:
インタフェース FlavorMap 内の getNativesForFlavors
パラメータ:
flavors - 返される Map のキーセットとなる DataFlavor の配列。null が指定されている場合、データ転送サブシステムに現在知られているすべての DataFlavor の、もっとも適切な String ネイティブへのマッピングが返される
戻り値:
DataFlavor の、String ネイティブへの java.util.Map
関連項目:
getNativesForFlavor(java.awt.datatransfer.DataFlavor), encodeDataFlavor(java.awt.datatransfer.DataFlavor)

getFlavorsForNatives

public Map<String,DataFlavor> getFlavorsForNatives(String[] natives)
指定された String ネイティブの、もっとも適切な DataFlavor への Map を返します。各 DataFlavor 値は、指定されたネイティブに対して getFlavorsForNative が返す List の最初の DataFlavor と同じになります。

指定されたネイティブが以前にデータ転送サブシステムに知られておらず、そのネイティブが適切に符号化されている場合は、このメソッドを呼び出すことによって、指定されたネイティブと、デコードされたバージョンのネイティブを MIME タイプとして持つ DataFlavor との間で、双方向のマッピングが確立されます。

定義:
インタフェース FlavorMap 内の getFlavorsForNatives
パラメータ:
natives - 返される Map のキーセットとなる String の配列。null が指定されている場合、サポートされるすべての String ネイティブの、もっとも適切な DataFlavor へのマッピングが返される
戻り値:
String ネイティブの、DataFlavor への java.util.Map
関連項目:
getFlavorsForNative(java.lang.String), encodeJavaMIMEType(java.lang.String)

addUnencodedNativeForFlavor

public void addUnencodedNativeForFlavor(DataFlavor flav,
                                        String nat)
指定された DataFlavor (および指定された DataFlavor と等しいすべての DataFlavor) から、指定された String ネイティブにマッピングを追加します。getNativesForFlavor とは異なり、このマッピングは一方向にだけ確立され、ネイティブは符号化されません。二方向のマッピングを確立するには、addFlavorForUnencodedNative も呼び出します。新しいマッピングの優先度は、既存のマッピングよりも低くなります。指定された (またはそれと等しい) DataFlavor から指定された String ネイティブへのマッピングがすでに存在する場合は、このメソッドに効果はありません。

パラメータ:
flav - マッピング用の DataFlavor キー
nat - マッピング用の String ネイティブ値
例外:
NullPointerException - flav または nat が null の場合
導入されたバージョン:
1.4
関連項目:
addFlavorForUnencodedNative(java.lang.String, java.awt.datatransfer.DataFlavor)

setNativesForFlavor

public void setNativesForFlavor(DataFlavor flav,
                                String[] natives)
指定された DataFlavor、および指定された DataFlavor と等しいすべての DataFlavor の現在のマッピングを破棄して、指定された String ネイティブへの新しいマッピングを作成します。getNativesForFlavor とは異なり、このマッピングは一方向にだけ確立され、ネイティブは符号化されません。双方向のマッピングを確立するには、setFlavorsForNative も呼び出します。配列内の最初のネイティブは、優先度がもっとも高いマッピングを表します。続くネイティブでは、マッピングの優先度が下がっていきます。

同等の String ネイティブを参照する要素が配列に含まれる場合は、このメソッドによりそれらの要素の中の最初の要素に対して新しいマッピングが確立され、残りの要素は無視されます。  

データ転送サブシステムが確立したマッピングをクライアントコードでリセットしないようお勧めします。このメソッドは、アプリケーションレベルのマッピングだけに使用します。

パラメータ:
flav - マッピング用の DataFlavor キー
natives - マッピング用の String ネイティブ値
例外:
NullPointerException - flav または natives が null の場合、または natives に null 要素が含まれる場合
導入されたバージョン:
1.4
関連項目:
setFlavorsForNative(java.lang.String, java.awt.datatransfer.DataFlavor[])

addFlavorForUnencodedNative

public void addFlavorForUnencodedNative(String nat,
                                        DataFlavor flav)
単一の String ネイティブから単一の DataFlavor へのマッピングを追加します。getFlavorsForNative とは異なり、このマッピングは一方向にだけ確立され、ネイティブは符号化されません。双方向のマッピングを確立するには、addUnencodedNativeForFlavor も呼び出します。新しいマッピングの優先度は、既存のマッピングよりも低くなります。指定された String ネイティブから指定された (またはそれと等しい) DataFlavor へのマッピングがすでに存在する場合は、このメソッドに効果はありません。

パラメータ:
nat - マッピング用の String ネイティブキー
flav - マッピング用の DataFlavor
例外:
NullPointerException - nat または flav が null の場合
導入されたバージョン:
1.4
関連項目:
addUnencodedNativeForFlavor(java.awt.datatransfer.DataFlavor, java.lang.String)

setFlavorsForNative

public void setFlavorsForNative(String nat,
                                DataFlavor[] flavors)
指定された String ネイティブの現在のマッピングを破棄して、指定された DataFlavor への新しいマッピングを作成します。 getFlavorsForNative とは異なり、このマッピングは一方向にだけ確立され、ネイティブの符号化は必要ありません。双方向のマッピングを確立するには、setNativesForFlavor も呼び出します。配列内の最初の DataFlavor は、優先度がもっとも高いマッピングを表します。続く DataFlavor では、マッピングの優先度が下がっていきます。

同等の DataFlavor を参照する要素が配列に含まれる場合は、このメソッドによりそれらの要素の中の最初の要素に対して新しいマッピングが確立され、残りの要素は無視されます。

データ転送サブシステムが確立したマッピングをクライアントコードでリセットしないようお勧めします。このメソッドは、アプリケーションレベルのマッピングだけに使用します。

パラメータ:
nat - マッピング用の String ネイティブキー
flavors - マッピング用の DataFlavor
例外:
NullPointerException - nat または flavors が null の場合、または flavors に null 要素が含まれる場合
導入されたバージョン:
1.4
関連項目:
setNativesForFlavor(java.awt.datatransfer.DataFlavor, java.lang.String[])

encodeJavaMIMEType

public static String encodeJavaMIMEType(String mimeType)
String ネイティブとして使用するために MIME タイプを符号化します。MIME タイプの符号化された表現の形式は、実装に依存します。制限は次に示すものだけです。

このメソッドの Sun の参照実装では、接頭辞 JAVA_DATAFLAVOR: が付く、指定された MIME タイプ String が返されます。

パラメータ:
mimeType - 符号化対象の MIME タイプ
戻り値:
符号化された String。mimeType が null の場合は null

encodeDataFlavor

public static String encodeDataFlavor(DataFlavor flav)
String ネイティブとして使用するために DataFlavor を符号化します。符号化された DataFlavor の形式は、実装に依存します。制限は次に示すものだけです。

このメソッドの Sun の参照実装では、接頭辞 JAVA_DATAFLAVOR: が付く、指定された DataFlavor の MIME タイプ String が返されます。

パラメータ:
flav - 符号化対象の DataFlavor
戻り値:
符号化された String。flav が null の場合、または null の MIME タイプを持つ場合は null

isJavaMIMEType

public static boolean isJavaMIMEType(String str)
指定された String が符号化された Java MIME タイプであるかどうかを返します。

パラメータ:
str - 判定対象の String
戻り値:
String が符号化されている場合は true、そうでない場合は false

decodeJavaMIMEType

public static String decodeJavaMIMEType(String nat)
Java MIME タイプとして使用するために String ネイティブをデコードします。

パラメータ:
nat - デコード対象の String
戻り値:
デコードされた Java MIME タイプ。nat が符号化された String ネイティブでない場合は null

decodeDataFlavor

public static DataFlavor decodeDataFlavor(String nat)
                                   throws ClassNotFoundException
DataFlavor として使用するために String ネイティブをデコードします。

パラメータ:
nat - デコード対象の String
戻り値:
デコードされた DataFlavor。nat が符号化された String ネイティブでない場合は null
例外:
ClassNotFoundException

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。