DataFlavor

DataFlavor是native" (String)(對應於特定於平台的數據格式)和 "flavor" (DataFlavor)(對應於與平台無關的 MIME 類型)之間的可配置映射。數據傳輸子系統使用此映射在 Java 和本機應用程式之間傳輸數據,以及在獨立的 VM 中的 Java 應用程式之間傳輸數據。

基本介紹

  • 中文名:DataFlavor
  • 類別:計算機名詞
  • 版本數量:12個
  • 所屬類:SystemFlavorMap
繼承關係,所有已實現的接口,從以下版本開始,方法摘要,方法詳細信息,getDefaultFlavorMap,getNativesForFlavor,getFlavorsForNative,getNativesForFlavors,getFlavorsForNatives,addUnencodedNativeForFlavor,setNativesForFlavor,addFlavorForUnencodedNative,setFlavorsForNative,encodeJavaMIMEType,encodeDataFlavor,isJavaMIMEType,decodeDataFlavor,

繼承關係

java.awt.datatransfer類 SystemFlavorMap
java.lang.Object
java.awt.datatransfer.SystemFlavorMap

所有已實現的接口

FlavorMap, FlavorTablepublic final class SystemFlavorMap extends Objectimplements FlavorMap, FlavorTable
SystemFlavorMap 是 "native" (String)(對應於特定於平台的數據格式)和 "flavor" (DataFlavor)(對應於與平台無關的 MIME 類型)之間的可配置映射。數據傳輸子系統使用此映射在 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 native 到單個 DataFlavor 的映射。
void
addUnencodedNativeForFlavor(DataFlavor flav, String nat)
添加從指定的 DataFlavor(和等於指定 DataFlavor 的所有 DataFlavor)到指定 String native 的映射。
static DataFlavor
decodeDataFlavor(String nat)
解碼 String native 以用作 DataFlavor。
static String
decodeJavaMIMEType(String nat)
解碼 String native 以用作 Java MIME 類型。
static String
encodeDataFlavor(DataFlavor flav)
編碼 DataFlavor 以用作 String native。
static String
encodeJavaMIMEType(String mimeType)
編碼 MIME 類型以用作 String native。
static FlavorMap
getDefaultFlavorMap()
返回此執行緒的 ClassLoader 的默認 FlavorMap。
List<DataFlavor>
getFlavorsForNative(String nat)
返回數據傳輸子系統可以將指定 String native 轉換成的 DataFlavor 的 List。
Map<String,DataFlavor>
getFlavorsForNatives(String[] natives)
返回指定 String native 到其大多數首選 DataFlavor 的 Map。
List<String>
getNativesForFlavor(DataFlavor flav)
返回數據傳輸子系統可以將指定 DataFlavor 轉換成的 String native 的 List。
Map<DataFlavor,String>
getNativesForFlavors(DataFlavor[] flavors)
返回指定 DataFlavor 到其大多數首選的 String native 的 Map。
static boolean
isJavaMIMEType(String str)
返回指定的 String 是否為編碼的 Java MIME 類型。
void
setFlavorsForNative(String nat, DataFlavor[] flavors)
放棄指定 String native 的當前映射,而創建指定 DataFlavor 的新映射。
void
setNativesForFlavor(DataFlavor flav, String[] natives)
放棄指定 DataFlavor 和等於指定 DataFlavor 的所有 DataFlavor 的當前映射,並創建到指定 String native 的新映射。
從類 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

方法詳細信息

getDefaultFlavorMap

public static FlavorMapgetDefaultFlavorMap()
返回此執行緒的 ClassLoader 的默認 FlavorMap。

getNativesForFlavor

public List<String> getNativesForFlavor(DataFlavor flav)
返回數據傳輸子系統可以將指定 DataFlavor 轉換成的 String native 的 List。該 List 的排序方式是從最好的 native 到最差的 native。即第一個 native 最能將指定 flavor 的數據反映到底層的本機平台。
如果指定的 DataFlavor 以前對於數據傳輸子系統而言是未知的,並且數據傳輸子系統未能將此 DataFlavor 轉換為任何現有的 native,則調用此方法將在指定的 DataFlavor 和其 MIME 類型的編碼版本之間建立一個雙向映射,作為其 native。
指定者:接口 FlavorTable 中的 getNativesForFlavor參數:flav - 應該返回其對應 native 的 DataFlavor。如果指定 null,則數據傳輸子系統當前已知的所有 native 都將以不確定的順序返回。 返回:java.lang.String 對象的 java.util.List,這些對象是特定於平台的數據格式的特定於平台的表示形式
從以下版本開始:1.4
另請參見:encodeDataFlavor(java.awt.datatransfer.DataFlavor)

getFlavorsForNative

public List<DataFlavor> getFlavorsForNative(String nat) 返回數據傳輸子系統可以將指定 String native 轉換成的 DataFlavor 的 List。該 List 的排序方式是從最好的 DataFlavor 到最差的 DataFlavor。即第一個 DataFlavor 最能將指定 native 中的數據反映到 Java 應用程式。
如果指定的 native 以前對於數據傳輸子系統而言是未知的,並且該 native 編碼正確,則調用此方法將在指定的 native 和 DataFlavor(其 MIME 類型為 native 的解碼版本)之間建立一個雙向映射。
如果指定的 native 不是正確編碼的 native,並且此 native 的映射關係沒有使用 setFlavorsForNative 進行修改,則 List 的內容是與平台有關的,但是並不能返回 null。
指定者:接口 FlavorTable 中的 getFlavorsForNative參數:nat - 應該返回其對應 DataFlavor 的 native。如果指定 null,則數據傳輸子系統當前已知的所有 DataFlavor 都將以不確定的順序返回。
返回:DataFlavor 對象的 java.util.List,可以將特定於平台的指定 native 中特定於平台的數據轉換為這些對象。 從以下版本開始:1.4
另請參見:encodeJavaMIMEType(java.lang.String)

getNativesForFlavors

public Map<DataFlavor,String> getNativesForFlavors(DataFlavor[] flavors) 返回指定 DataFlavor 到其大多數首選的 String native 的 Map。每一個 native 值都將與指定 flavor 的 getNativesForFlavor 所返回 List 中的第一個 native 相同。
如果指定的 DataFlavor 以前對於數據傳輸子系統是未知的,那么調用此方法將在指定的 DataFlavor 和其 MIME 類型的編碼版本之間建立一個雙向映射,作為其 native。
指定者:接口 FlavorMap 中的 getNativesForFlavors參數:flavors - 一組 DataFlavor,它們是返回 Map 的鍵集。如果指定了 null,則返回對數據傳輸子系統已知的所有 DataFlavor 到其大多數首選 String native 的映射。 返回:DataFlavor 到 String native 的 java.util.Map
另請參見:getNativesForFlavor(java.awt.datatransfer.DataFlavor), encodeDataFlavor(java.awt.datatransfer.DataFlavor)

getFlavorsForNatives

public Map<String,DataFlavor> getFlavorsForNatives(String[] natives) 返回指定 String native 到其大多數首選 DataFlavor 的 Map。每一個 DataFlavor 值都將與指定 native 的 getFlavorsForNative 所返回 List 中的第一個 DataFlavor 相同。
如果指定的 native 以前對於數據傳輸子系統而言是未知的,並且該 native 編碼正確,則調用此方法將在指定的 native 和 DataFlavor(其 MIME 類型為 native 的解碼版本)之間建立一個雙向映射。
指定者:接口 FlavorMap 中的 getFlavorsForNatives
參數:native - 一組 String,它們是返回 Map 的鍵集。如果指定了 null,則返回所有受支持 String native 到其大多數首選 DataFlavor 的映射。
返回:String native 到 DataFlavor 的 java.util.Map另請參見:getFlavorsForNative(java.lang.String), encodeJavaMIMEType(java.lang.String)

addUnencodedNativeForFlavor

public void addUnencodedNativeForFlavor(DataFlavor flav, String nat)添加從指定的 DataFlavor(和等於指定 DataFlavor 的所有 DataFlavor)到指定 String native 的映射。與 getNativesForFlavor 不同,該映射僅是單向建立的,並且不對 native 進行編碼。要建立雙向映射,請同時調用 addFlavorForUnencodedNative。新的映射優先權低於現有映射。如果從指定或相等 DataFlavor 到指定 String native 的映射已經存在,則此方法無效。 參數:flav - 該映射的 DataFlavor 鍵 nat - 該映射的 String native 值
拋出: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 native 的新映射。與 getNativesForFlavor 不同,這些映射僅是單向建立的,並且不對 native 進行編碼。要建立雙向映射,請同時調用 setFlavorsForNative。數組中的第一個 native 表示最高優先權的映射。後續 native 所表示的映射的優先權是遞減的。
如果數組包含多個引用相等 String native 的元素,則此方法將為其中第一個元素建立新映射,而忽略其餘的元素。
建議客戶機代碼不要重置數據傳輸子系統建立的映射。此方法僅用於應用程式級的映射。
參數:flav - 該映射的 DataFlavor 鍵 natives - 該映射的 String native 值 拋出:NullPointerException - 如果 flav 或 native 為 null 或者 native 包含 null 元素
從以下版本開始:1.4
另請參見:setFlavorsForNative(java.lang.String, java.awt.datatransfer.DataFlavor[])

addFlavorForUnencodedNative

public void addFlavorForUnencodedNative(String nat, DataFlavor flav)添加從單個 String native 到單個 DataFlavor 的映射。與 getFlavorsForNative 不同,該映射僅是單向建立的,並且不對 native 進行編碼。要建立雙向映射,請同時調用 addUnencodedNativeForFlavor。新的映射優先權低於現有映射。如果從指定 String native 到指定或相等 DataFlavor 的映射已經存在,則此方法無效。
參數:nat - 該映射的 String native 鍵 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 native 的當前映射,而創建指定 DataFlavor 的新映射。與 getFlavorsForNative 不同,這些映射將僅是單向建立的,並且不需要對 native 進行編碼。要建立雙向映射,請同時調用 setNativesForFlavor。數組中的第一個 DataFlavor 表示最高優先權的映射。後續 DataFlavor 所表示的映射的優先權是遞減的。
如果數組包含多個引用相等 DataFlavor 的元素,則為其中的第一個元素建立新映射,而忽略其餘的元素。
建議客戶機代碼不要重置數據傳輸子系統建立的映射。此方法僅用於應用程式級的映射。
參數:nat - 映射的 String native 鍵 flavor - 映射的 DataFlavor 值
拋出:NullPointerException - 如果 nat 或 flavor 為 null 或者 flavor 包含 null 元素
從以下版本開始:1.4
另請參見:setNativesForFlavor(java.awt.datatransfer.DataFlavor, java.lang.String[])

encodeJavaMIMEType

public static StringencodeJavaMIMEType(String mimeType)編碼 MIME 類型以用作 String native。MIME 類型的編碼表示形式的格式是與實現有關的。僅有的限制是:
若且唯若 MIME 類型 String 為 null 時,編碼表示形式為 null。
兩個非 null MIME 類型 String 的編碼表示形式相等的條件是,若且唯若根據 String.equals(Object) 這些 String 相等。Sun 對此方法的參考實現返回指定 MIME 類型 String,前綴為 JAVA_DATAFLAVOR:。
參數:mimeType - 要編碼的 MIME 類型 返回:編碼的 String,如果 mimeType 為 null,則返回 null

encodeDataFlavor

public static StringencodeDataFlavor(DataFlavor flav)編碼 DataFlavor 以用作 String native。編碼的 DataFlavor 的格式是與實現有關的。僅有的限制是:
若且唯若指定 DataFlavor 為 null 或者其 MIME 類型 String 為 null 時,編碼表示形式為 null。
具有非 null MIME 類型 String 的兩個非 nullDataFlavor 的編碼表示形式相等的條件是,根據 String.equals(Object) 若且唯若這些 DataFlavor 的 MIME 類型 String 相等。
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 StringdecodeJavaMIMEType(String nat)解碼 String native 以用作 Java MIME 類型。 參數:nat - 要解碼的 String返回:解碼的 Java MIME 類型,如果 nat 不是編碼的 String native,則返回 null

decodeDataFlavor

public static DataFlavordecodeDataFlavor(String nat) throws ClassNotFoundException解碼 String native 以用作 DataFlavor。
參數:nat - 要解碼的 String返回:解碼的 DataFlavor,如果 nat 不是編碼的 String native,則返回 null拋出:ClassNotFoundException

相關詞條

熱門詞條

聯絡我們