类 SystemFlavorMap

java.lang.Object
java.awt.datatransfer.SystemFlavorMap
所有已实现的接口:
FlavorMap , FlavorTable

public final class SystemFlavorMap extends Object implements FlavorMap , FlavorTable
SystemFlavorMap 是对应于平台特定数据格式的“本地”(Strings) 和对应于平台无关的 MIME 类型的“风味”(DataFlavors) 之间的可配置映射。数据传输子系统使用此map在 Java 和本机应用程序之间以及在单独的 VM 中的 Java 应用程序之间传输数据。
自从:
1.2
  • 方法详情

    • getDefaultFlavorMap

      public static FlavorMap  getDefaultFlavorMap()
      返回此线程的 ClassLoader 的默认 FlavorMap。
      返回:
      此线程的 ClassLoader 的默认 FlavorMap
    • getNativesForFlavor

      public List <String > getNativesForFlavor(DataFlavor  flav)
      返回 List of String natives,数据传输子系统可以将指定的 DataFlavor 翻译成这些 natives。 List 将从最佳原生到最差排序。也就是说,第一个本机将最好地将指定风格的数据反映到底层本机平台。

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

      指定者:
      getNativesForFlavor 在接口 FlavorTable
      参数:
      flav - DataFlavor 应返回其对应的本地人。如果指定了 null,则数据传输子系统当前已知的所有本机都以不确定的顺序返回。
      返回:
      java.lang.String 对象中的 java.util.List 对象,它们是特定于平台的数据格式的特定于平台的表示
      自从:
      1.4
      参见:
    • getFlavorsForNative

      public List <DataFlavor > getFlavorsForNative(String  nat)
      返回 DataFlavorList ,数据传输子系统可以将指定的 String native 转换为该 ListList 将从最佳 DataFlavor 到最差进行排序。也就是说,第一个 DataFlavor 将最好地将指定本机中的数据反映到 Java 应用程序。

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

      如果指定的本机不是正确编码的本机,并且此本机的映射未使用 setFlavorsForNative 更改,则 List 的内容依赖于平台,但不能返回 null

      指定者:
      getFlavorsForNative 在接口 FlavorTable
      参数:
      nat - 应返回其对应的 DataFlavor 的本机。如果指定了 null,则数据传输子系统当前已知的所有 DataFlavor 将以不确定的顺序返回。
      返回:
      DataFlavor 对象中的 java.util.List 对象,可以将指定平台特定本机中的平台特定数据转换为该对象
      自从:
      1.4
      参见:
    • getNativesForFlavors

      public Map <DataFlavor ,String > getNativesForFlavors(DataFlavor [] flavors)
      将指定的 DataFlavorMap 返回到它们最喜欢的 String 本机。每个原生值都将与 getNativesForFlavor 为指定风味返回的列表中的第一个原生值相同。

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

      指定者:
      getNativesForFlavors 在接口 FlavorMap
      参数:
      flavors - DataFlavor 的数组,它将是返回的 Map 的键集。如果指定了 null,将返回数据传输子系统已知的所有 DataFlavor 到它们最喜欢的 String 本机的映射。
      返回:
      java.util.Map of DataFlavorString 当地人
      参见:
    • getFlavorsForNatives

      public Map <String ,DataFlavor > getFlavorsForNatives(String [] natives)
      将指定的 String 本地人的 Map 返回到他们最喜欢的 DataFlavor 。每个 DataFlavor 值将与 getFlavorsForNative 为指定本地返回的列表中的第一个 DataFlavor 相同。

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

      指定者:
      getFlavorsForNatives 在接口 FlavorMap
      参数:
      natives - String 的数组,它将是返回的 Map 的键集。如果指定了 null,将返回所有支持的 String natives 到它们最喜欢的 DataFlavor 的映射。
      返回:
      java.util.MapString 原住民到 DataFlavor s
      参见:
    • addUnencodedNativeForFlavor

      public void addUnencodedNativeForFlavor(DataFlavor  flav, String  nat)
      添加从指定的 DataFlavor(以及所有等于指定的 DataFlavorDataFlavor )到指定的 String native 的映射。与 getNativesForFlavor 不同,映射只会在一个方向上建立,native 不会被编码。要建立双向映射,也请调用 addFlavorForUnencodedNative。新映射的优先级低于任何现有映射。如果从指定的或等于 DataFlavor 到指定的 String native 的映射已经存在,则此方法无效。
      参数:
      flav - 映射的 DataFlavor
      nat - 映射的 String 本机值
      抛出:
      NullPointerException - 如果 flav 或 nat 是 null
      自从:
      1.4
      参见:
    • setNativesForFlavor

      public void setNativesForFlavor(DataFlavor  flav, String [] natives)
      丢弃指定 DataFlavor 和所有 DataFlavor 等于指定 DataFlavor 的当前映射,并创建到指定 String natives 的新映射。与 getNativesForFlavor 不同,映射只会在一个方向上建立,并且不会对 natives 进行编码。要建立双向映射,也请调用 setFlavorsForNative。数组中的第一个本机将代表最高优先级的映射。随后的本地人将表示优先级递减的映射。

      如果数组包含多个引用相等 String natives 的元素,则此方法将为这些元素中的第一个建立新映射并忽略其余元素。

      建议客户端代码不要重置数据传输子系统建立的映射。此方法应仅用于应用程序级映射。

      参数:
      flav - 映射的 DataFlavor
      natives - 映射的 String 本机值
      抛出:
      NullPointerException - 如果 flav 或 natives 是 null 或者如果 natives 包含 null 元素
      自从:
      1.4
      参见:
    • addFlavorForUnencodedNative

      public void addFlavorForUnencodedNative(String  nat, DataFlavor  flav)
      添加从单个 String native 到单个 DataFlavor 的映射。与 getFlavorsForNative 不同,映射只会在一个方向上建立,native 不会被编码。要建立双向映射,也请调用 addUnencodedNativeForFlavor。新映射的优先级低于任何现有映射。如果从指定的 String native 到指定的或等于 DataFlavor 的映射已经存在,则此方法无效。
      参数:
      nat - 映射的 String 本机密钥
      flav - 映射的 DataFlavor
      抛出:
      NullPointerException - 如果 natflavnull
      自从:
      1.4
      参见:
    • setFlavorsForNative

      public void setFlavorsForNative(String  nat, DataFlavor [] flavors)
      丢弃指定 String native 的当前映射,并创建到指定 DataFlavor s 的新映射。与 getFlavorsForNative 不同,映射只会在一个方向上建立,本地人不需要编码。要建立双向映射,也请调用 setNativesForFlavor。数组中的第一个 DataFlavor 将代表最高优先级的映射。随后的 DataFlavor s 将表示优先级递减的映射。

      如果数组包含多个引用等于 DataFlavor 的元素,则此方法将为这些元素中的第一个建立新映射并忽略其余元素。

      建议客户端代码不要重置数据传输子系统建立的映射。此方法应仅用于应用程序级映射。

      参数:
      nat - 映射的 String 本机密钥
      flavors - 映射的 DataFlavor
      抛出:
      NullPointerException - 如果 natflavorsnull 或者如果 flavors 包含 null 元素
      自从:
      1.4
      参见:
    • encodeJavaMIMEType

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

      public static String  encodeDataFlavor(DataFlavor  flav)
      编码 DataFlavor 用作 String 本机。编码的 DataFlavor 的格式是依赖于实现的。唯一的限制是:
      • 当且仅当指定的 DataFlavornull 或其 MIME 类型 Stringnull 时,编码表示为 null
      • 当且仅当这些 DataFlavor 的 MIME 类型 StringString.equals(Object) 相同时,两个非 null DataFlavor 与非 null MIME 类型 String 的编码表示相等
      此方法的参考实现返回前缀为 JAVA_DATAFLAVOR: 的指定 DataFlavor 的 MIME 类型 String
      参数:
      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 native 以用作 Java MIME 类型。
      参数:
      nat - 要解码的 String
      返回:
      解码的 Java MIME 类型,或 null 如果 nat 不是编码的 String native
    • decodeDataFlavor

      public static DataFlavor  decodeDataFlavor(String  nat) throws ClassNotFoundException
      解码 String native 用作 DataFlavor
      参数:
      nat - 要解码的 String
      返回:
      解码的 DataFlavornull 如果 nat 不是编码的 String native
      抛出:
      ClassNotFoundException - 如果未加载数据类型的类