- java.lang.Object
-
- java.awt.datatransfer.SystemFlavorMap
-
- All Implemented Interfaces:
-
FlavorMap
,FlavorTable
public final class SystemFlavorMap extends Object implements FlavorMap, FlavorTable
SystemFlavorMap是与“平台”特定的数据格式相对应的“本地”(Stratives)和与平台无关的MIME类型对应的“风格”(DataFlavors)之间的可配置映射。 该映射由数据传输子系统用于在Java和本机应用程序之间以及在单独的VM中的Java应用程序之间传输数据。- 从以下版本开始:
- 1.2
-
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
addFlavorForUnencodedNative(String nat, DataFlavor flav)
添加从单个String
本机到单个DataFlavor
。void
addUnencodedNativeForFlavor(DataFlavor flav, String nat)
将指定的DataFlavor
(和所有DataFlavor
s等于指定的DataFlavor
)的映射添加到指定的String
本机。static DataFlavor
decodeDataFlavor(String nat)
解码String
本机用作DataFlavor
。static String
decodeJavaMIMEType(String nat)
解码一个String
本机用作Java MIME类型。static String
encodeDataFlavor(DataFlavor flav)
编码DataFlavor
用作本地的String
。static String
encodeJavaMIMEType(String mimeType)
将MIME类型编码为String
本机。static FlavorMap
getDefaultFlavorMap()
返回此线程的ClassLoader的默认FlavorMap。List<DataFlavor>
getFlavorsForNative(String nat)
返回一个List
的DataFlavor
,其中指定的String
本机可以由数据传输子系统翻译。Map<String,DataFlavor>
getFlavorsForNatives(String[] natives)
返回一个Map
的String
本地人到他们最喜欢的DataFlavor
。List<String>
getNativesForFlavor(DataFlavor flav)
返回List
的String
本地数据,数据传输子系统可以转换指定的DataFlavor
。Map<DataFlavor,String>
getNativesForFlavors(DataFlavor[] flavors)
将Map
的DataFlavor
为最优选的String
本机。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
本地人创建新的映射。
-
-
-
方法详细信息
-
getDefaultFlavorMap
public static FlavorMap getDefaultFlavorMap()
返回此线程的ClassLoader的默认FlavorMap。- 结果
- 该线程的ClassLoader的默认FlavorMap
-
getNativesForFlavor
public List<String> getNativesForFlavor(DataFlavor flav)
返回List
的String
本地数据,指定的DataFlavor
可以由数据传输子系统翻译。List
将从最好的本地到最坏的排序。 也就是说,第一个本机将最好将指定风味的数据反映到底层本机平台。如果指定的
DataFlavor
以前是数据传输子系统未知的,并且数据传输子系统无法将此DataFlavor
为任何现有本机,则调用此方法将在指定的DataFlavor
和其MIME的编码版本之间建立两个方向的映射键入作为其本机。- Specified by:
-
getNativesForFlavor
在接口FlavorTable
- 参数
-
flav
- 其相应的本地人应该退回的DataFlavor
。 如果指定了null
,则数据传输子系统当前已知的所有本地人以非确定性顺序返回。 - 结果
-
java.util.List
的java.lang.String
对象,它们是平台特定数据格式的平台特定表示 - 从以下版本开始:
- 1.4
- 另请参见:
-
encodeDataFlavor(java.awt.datatransfer.DataFlavor)
-
getFlavorsForNative
public List<DataFlavor> getFlavorsForNative(String nat)
返回List
的DataFlavor
,其中指定的String
本机可由数据传输子系统翻译。List
将从最好的DataFlavor
排序到最差。 也就是说,第一个DataFlavor
将最好地反映Java应用程序指定的本地数据。如果指定的本机对于数据传输子系统以前是未知的,并且本机已被正确编码,则调用此方法将在指定的本机和
DataFlavor
之间的两个方向建立映射,其MIME类型是本机的解码版本。如果指定本机是不是正确编码的本地和本本地映射没有被篡改与
setFlavorsForNative
,那么内容List
与平台相关,但null
不能退货。- Specified by:
-
getFlavorsForNative
在接口FlavorTable
- 参数
-
nat
- 应该返回对应的DataFlavor
的本机。 如果null
指定,所有DataFlavor
目前已知的数据传输子系统S IN非确定性顺序返回。 - 结果
-
一个
java.util.List
的DataFlavor
对象,指定的平台特定的本机的平台特定数据可以被翻译成 - 从以下版本开始:
- 1.4
- 另请参见:
-
encodeJavaMIMEType(java.lang.String)
-
getNativesForFlavors
public Map<DataFlavor,String> getNativesForFlavors(DataFlavor[] flavors)
返回Map
的DataFlavor
的最优选String
本机。 每个本机值将与由指定风味的getNativesForFlavor
返回的列表中的第一个本机值相同。如果指定的
DataFlavor
以前是数据传输子系统未知的,则调用此方法将在指定的DataFlavor
和其MIME类型的编码版本之间的双向建立映射,作为其本机。- Specified by:
-
getNativesForFlavors
在接口FlavorMap
- 参数
-
flavors
- 一个DataFlavor
s的数组,这将是返回的Map
的键集。 如果null
被指定时,所有的映射DataFlavor
已知的数据传输子系统到其最优选的小号String
当地人将被返回。 - 结果
-
一个
java.util.Map
的DataFlavor
s到String
当地人 - 另请参见:
-
getNativesForFlavor(java.awt.datatransfer.DataFlavor)
,encodeDataFlavor(java.awt.datatransfer.DataFlavor)
-
getFlavorsForNatives
public Map<String,DataFlavor> getFlavorsForNatives(String[] natives)
返回指定的String
本地人的Map
,以最优先的DataFlavor
。 每个DataFlavor
值将与第一个DataFlavor
相同,由列表返回的getFlavorsForNative
指定的本机。如果指定的本机对于数据传输子系统以前是未知的,并且本机已被正确编码,则调用此方法将在指定的本机和
DataFlavor
之间的两个方向建立映射,其MIME类型是本机的解码版本。- Specified by:
-
getFlavorsForNatives
在接口FlavorMap
- 参数
-
natives
-的阵列String
S的将是所返回的密钥集Map
。 如果null
指定,所有的映射支持String
当地人到其大多数首选DataFlavor
旨意被退回。 - 结果
-
一个
java.util.Map
的String
当地人DataFlavor
s - 另请参见:
-
getFlavorsForNative(java.lang.String)
,encodeJavaMIMEType(java.lang.String)
-
addUnencodedNativeForFlavor
public void addUnencodedNativeForFlavor(DataFlavor flav, String nat)
将指定的DataFlavor
(和所有DataFlavor
s等于指定的DataFlavor
)的映射添加到指定的String
本机。 与getNativesForFlavor
不同,映射将仅在一个方向上建立,并且本机将不被编码。 要建立双向映射,也可以拨打addFlavorForUnencodedNative
。 新的映射将优先于任何现有的映射。 如果从指定的或等于DataFlavor
到指定的String
本机的映射已经存在,则此方法无效。- 参数
-
flav
-DataFlavor
键的映射 -
nat
-String
映射的本机值 - 异常
-
NullPointerException
- 如果NullPointerException
或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
元素,String
这个方法将为这些元素中的第一个元素建立新的映射,并忽略其余的元素。建议客户端代码不会重置由数据传输子系统建立的映射。 此方法只能用于应用程序级映射。
- 参数
-
flav
-DataFlavor
键的映射 -
natives
-String
映射的本机值 - 异常
-
NullPointerException
- 如果NullPointerException
或当地人是null
或如果当地人包含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
s的几个元素,则该方法将为这些元素中的第一个元素建立新的映射,并忽略其余的元素。建议客户端代码不会重置由数据传输子系统建立的映射。 此方法只能用于应用程序级映射。
- 参数
-
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)
将MIME类型编码为String
本机。 MIME类型的编码表示的格式是依赖于实现的。 唯一的限制是:- 编码表示为
null
当且仅当MIME类型为String
为null
- 两个非
null
MIME类型的编码表示String
s等于当且仅当这些String
根据String.equals(Object)
相等时
String
前缀为JAVA_DATAFLAVOR:
。- 参数
-
mimeType
- 要编码的MIME类型 - 结果
-
编码
String
或null
如果mimeType
是null
- 编码表示为
-
encodeDataFlavor
public static String encodeDataFlavor(DataFlavor flav)
编码一个DataFlavor
用作String
本机。 编码DataFlavor
的格式取决于实现。 唯一的限制是:- 编码表示是
null
当且仅当指定DataFlavor
是null
或其MIME类型String
是null
- 为两个非经编码表示
null
DataFlavor
s的非null
MIME类型String
s为等于当且仅当MIME类型String
这帮的DataFlavor
S以相等String.equals(Object)
DataFlavor
的MIME类型String
,前缀为JAVA_DATAFLAVOR:
。- 参数
-
flav
-DataFlavor
进行编码 - 结果
-
编码
String
或null
如果flav
是null
或具有null
MIME类型
- 编码表示是
-
isJavaMIMEType
public static boolean isJavaMIMEType(String str)
返回指定的String
是否是编码的Java MIME类型。- 参数
-
str
-String
要测试 - 结果
-
true
如果String
编码;false
否则
-
decodeJavaMIMEType
public static String decodeJavaMIMEType(String nat)
解码一个String
本机用作Java MIME类型。- 参数
-
nat
- 要解码的String
- 结果
-
解码的Java MIME类型,或
null
如果nat
不是编码的String
本机
-
decodeDataFlavor
public static DataFlavor decodeDataFlavor(String nat) throws ClassNotFoundException
解码为String
本机,用作DataFlavor
。- 参数
-
nat
- 要解码的String
- 结果
-
解码的
DataFlavor
或null
如果nat
不是编码的String
本机 - 异常
-
ClassNotFoundException
- 如果没有加载数据flavor的类
-
-