软件包  java.awt.datatransfer

Class SystemFlavorMap

  • All Implemented Interfaces:
    FlavorMapFlavorTable


    public final class SystemFlavorMap
    extends Object
    implements FlavorMap, FlavorTable
    SystemFlavorMap是与“平台”特定的数据格式相对应的“本地”(Stratives)和与平台无关的MIME类型对应的“风格”(DataFlavors)之间的可配置映射。 该映射由数据传输子系统用于在Java和本机应用程序之间以及在单独的VM中的Java应用程序之间传输数据。
    从以下版本开始:
    1.2
    • 方法详细信息

      • getDefaultFlavorMap

        public static FlavorMap getDefaultFlavorMap​()
        返回此线程的ClassLoader的默认FlavorMap。
        结果
        该线程的ClassLoader的默认FlavorMap
      • getNativesForFlavor

        public List<String> getNativesForFlavor​(DataFlavor flav)
        返回ListString本地数据,指定的DataFlavor可以由数据传输子系统翻译。 List将从最好的本地到最坏的排序。 也就是说,第一个本机将最好将指定风味的数据反映到底层本机平台。

        如果指定的DataFlavor以前是数据传输子系统未知的,并且数据传输子系统无法将此DataFlavor为任何现有本机,则调用此方法将在指定的DataFlavor和其MIME的编码版本之间建立两个方向的映射键入作为其本机。

        Specified by:
        getNativesForFlavor在接口 FlavorTable
        参数
        flav - 其相应的本地人应该退回的DataFlavor 如果指定了null ,则数据传输子系统当前已知的所有本地人以非确定性顺序返回。
        结果
        java.util.Listjava.lang.String对象,它们是平台特定数据格式的平台特定表示
        从以下版本开始:
        1.4
        另请参见:
        encodeDataFlavor(java.awt.datatransfer.DataFlavor)
      • getFlavorsForNative

        public List<DataFlavor> getFlavorsForNative​(String nat)
        返回ListDataFlavor ,其中指定的String本机可由数据传输子系统翻译。 List将从最好的DataFlavor排序到最差。 也就是说,第一个DataFlavor将最好地反映Java应用程序指定的本地数据。

        如果指定的本机对于数据传输子系统以前是未知的,并且本机已被正确编码,则调用此方法将在指定的本机和DataFlavor之间的两个方向建立映射,其MIME类型是本机的解码版本。

        如果指定本机是不是正确编码的本地和本本地映射没有被篡改与setFlavorsForNative ,那么内容List与平台相关,但null不能退货。

        Specified by:
        getFlavorsForNative在接口 FlavorTable
        参数
        nat - 应该返回对应的DataFlavor的本机。 如果null指定,所有DataFlavor目前已知的数据传输子系统S IN非确定性顺序返回。
        结果
        一个 java.util.ListDataFlavor对象,指定的平台特定的本机的平台特定数据可以被翻译成
        从以下版本开始:
        1.4
        另请参见:
        encodeJavaMIMEType(java.lang.String)
      • getNativesForFlavors

        public Map<DataFlavor,String> getNativesForFlavors​(DataFlavor[] flavors)
        返回MapDataFlavor的最优选String本机。 每个本机值将与由指定风味的getNativesForFlavor返回的列表中的第一个本机值相同。

        如果指定的DataFlavor以前是数据传输子系统未知的,则调用此方法将在指定的DataFlavor和其MIME类型的编码版本之间的双向建立映射,作为其本机。

        Specified by:
        getNativesForFlavors在接口 FlavorMap
        参数
        flavors - 一个DataFlavor s的数组,这将是返回的Map的键集。 如果null被指定时,所有的映射DataFlavor已知的数据传输子系统到其最优选的小号String当地人将被返回。
        结果
        一个 java.util.MapDataFlavor 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.MapString当地人 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 - 如果 natflavnull
        从以下版本开始:
        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 - 如果 natflavorsnull或如果 flavors包含 null元素
        从以下版本开始:
        1.4
        另请参见:
        setNativesForFlavor(java.awt.datatransfer.DataFlavor, java.lang.String[])
      • encodeJavaMIMEType

        public static String encodeJavaMIMEType​(String mimeType)
        将MIME类型编码为String本机。 MIME类型的编码表示的格式是依赖于实现的。 唯一的限制是:
        • 编码表示为null当且仅当MIME类型为Stringnull
        • 两个非null MIME类型的编码表示String s等于当且仅当这些String根据String.equals(Object)相等时
        此方法的参考实现返回指定的MIME类型String前缀为JAVA_DATAFLAVOR:
        参数
        mimeType - 要编码的MIME类型
        结果
        编码 Stringnull如果 mimeTypenull
      • encodeDataFlavor

        public static String encodeDataFlavor​(DataFlavor flav)
        编码一个DataFlavor用作String本机。 编码DataFlavor的格式取决于实现。 唯一的限制是:
        • 编码表示是null当且仅当指定DataFlavornull或其MIME类型Stringnull
        • 为两个非经编码表示null DataFlavor s的非null MIME类型String s为等于当且仅当MIME类型String这帮的DataFlavor S以相等String.equals(Object)
        此方法的参考实现返回指定的DataFlavor的MIME类型String ,前缀为JAVA_DATAFLAVOR:
        参数
        flav - DataFlavor进行编码
        结果
        编码 Stringnull如果 flavnull或具有 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
        结果
        解码的 DataFlavornull如果 nat不是编码的 String本机
        异常
        ClassNotFoundException - 如果没有加载数据flavor的类