- 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 方法 描述 voidaddFlavorForUnencodedNative(String nat, DataFlavor flav)添加从单个String本机到单个DataFlavor。voidaddUnencodedNativeForFlavor(DataFlavor flav, String nat)将指定的DataFlavor(和所有DataFlavors等于指定的DataFlavor)的映射添加到指定的String本机。static DataFlavordecodeDataFlavor(String nat)解码String本机用作DataFlavor。static StringdecodeJavaMIMEType(String nat)解码一个String本机用作Java MIME类型。static StringencodeDataFlavor(DataFlavor flav)编码DataFlavor用作本地的String。static StringencodeJavaMIMEType(String mimeType)将MIME类型编码为String本机。static FlavorMapgetDefaultFlavorMap()返回此线程的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 booleanisJavaMIMEType(String str)返回指定的String是否是编码的Java MIME类型。voidsetFlavorsForNative(String nat, DataFlavor[] flavors)丢弃指定的String本机的当前映射,并创建新的映射到指定的DataFlavor。voidsetNativesForFlavor(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- 一个DataFlavors的数组,这将是返回的Map的键集。 如果null被指定时,所有的映射DataFlavor已知的数据传输子系统到其最优选的小号String当地人将被返回。 - 结果
-
一个
java.util.Map的DataFlavors到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-的阵列StringS的将是所返回的密钥集Map。 如果null指定,所有的映射支持String当地人到其大多数首选DataFlavor旨意被退回。 - 结果
-
一个
java.util.Map的String当地人DataFlavors - 另请参见:
-
getFlavorsForNative(java.lang.String),encodeJavaMIMEType(java.lang.String)
-
addUnencodedNativeForFlavor
public void addUnencodedNativeForFlavor(DataFlavor flav, String nat)
将指定的DataFlavor(和所有DataFlavors等于指定的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将表示降低优先级的映射。如果数组包含引用等于
DataFlavors的几个元素,则该方法将为这些元素中的第一个元素建立新的映射,并忽略其余的元素。建议客户端代码不会重置由数据传输子系统建立的映射。 此方法只能用于应用程序级映射。
- 参数
-
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 - 两个非
nullMIME类型的编码表示Strings等于当且仅当这些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 - 为两个非经编码表示
nullDataFlavors的非nullMIME类型Strings为等于当且仅当MIME类型String这帮的DataFlavorS以相等String.equals(Object)
DataFlavor的MIME类型String,前缀为JAVA_DATAFLAVOR:。- 参数
-
flav-DataFlavor进行编码 - 结果
-
编码
String或null如果flav是null或具有nullMIME类型
- 编码表示是
-
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的类
-
-