モジュール java.datatransfer
パッケージ java.awt.datatransfer

クラスDataFlavor

java.lang.Object
java.awt.datatransfer.DataFlavor
すべての実装されたインタフェース:
Externalizable, Serializable, Cloneable

public class DataFlavor extends Object implements Externalizable, Cloneable
DataFlavorは、データに関するメタ情報を提供します。 DataFlavorは通常、クリップボード上のデータにアクセスしたり、ドラッグ&ドロップ操作中にデータにアクセスしたりするために使用されます。

DataFlavorのインスタンスは、RFC 2045およびRFC 2046の定義に従ってコンテンツ・タイプをカプセル化します。 通常、コンテンツ・タイプはMIMEタイプと呼ばれます。

コンテンツ・タイプは、メディア・タイプ(プライマリ・タイプと呼ばれる)、サブタイプ、およびオプションのパラメータで構成されます。 MIMEタイプの構文の詳細は、RFC 2045を参照してください。

JREデータ転送の実装は、MIMEタイプのパラメータ「class」を表現クラスとして解釈します。 表現クラスは、転送されるオブジェクトのクラスを反映します。 つまり、表現クラスは、Transferable.getTransferData(java.awt.datatransfer.DataFlavor)によって返されるオブジェクトのタイプです。 たとえば、imageFlavorのMIMEタイプが"image/x-java-image;class=java.awt.Image"である場合、プライマリ・タイプはimage、サブタイプはx-java-image、表現クラスはjava.awt.Imageです。 getTransferDataimageFlavorDataFlavorで呼び出されると、java.awt.Imageのインスタンスが返されます。 DataFlavorが表現クラスに対してエラー・チェックを行わないことに注意する必要があります。 表現クラスが有効かどうかは、DataFlavorのコンシューマ(Transferableなど)で判定します。
DataFlavorの作成時に表現クラスを指定しない場合は、デフォルトの表現クラスが使用されます。
DataFlavorのコンストラクタについては、該当するドキュメントを参照してください。

また、「text」のプライマリMIMEタイプを持つDataFlavorインスタンスは、「charset」パラメータを取ることもできます。 「text」のMIMEタイプと「charset」パラメータの詳細は、RFC 2046およびselectBestTextFlavor(java.awt.datatransfer.DataFlavor[])を参照してください。

DataFlavorsが等しいかどうかは、プライマリ・タイプ、サブタイプ、および表現クラスによって判定されます。 詳細は、equals(DataFlavor)を参照してください。 等しいかどうかを決定するときは、オプションのすべてのパラメータが無視されます。 たとえば、次の文では、同一であると見なされる2つのDataFlavorsが生成されます。

   DataFlavor flavor1 = new DataFlavor(Object.class, "X-test/test; class=<java.lang.Object>; foo=bar");
   DataFlavor flavor2 = new DataFlavor(Object.class, "X-test/test; class=<java.lang.Object>; x=y");
   // The following returns true.
   flavor1.equals(flavor2);
 
前に説明したように、flavor1flavor2は同一であると見なされます。 したがって、どちらのDataFlavorTransferableを要求しても、同じ結果が返されます。

Swingでのデータ転送の使用の詳細については、「Javaチュートリアル」「ドラッグ・アンド・ドロップとデータ転送の使い方」セクションを参照してください。

導入されたバージョン:
1.1
関連項目:
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static final DataFlavor
    1つのHTMLマークアップを表します。
    static final DataFlavor
    1つのHTMLマークアップを表します。
    static final DataFlavor
    Java Imageクラスを表すDataFlavor。ここでは、次のようになります。
    static final DataFlavor
    Java (およびベースとなるプラットフォーム)との間でファイルのリストを転送するには、このタイプ/サブタイプのDataFlavorと、java.util.Listの表現クラスが使用されます。
    static final String
    MIMEコンテンツ・タイプが関連付けられていない任意のJavaオブジェクト参照への参照を同じJVM内のTransferableインタフェース経由で転送するには、このタイプ/サブタイプのDataFlavorが、Transferable経由で渡されるクラス/インタフェースのタイプに等しいrepresentationClassとともに使用されます。
    static final String
    有効なリンクをドラッグ&ドロップACTION_LINK操作によってリモート・オブジェクトに渡すには、application/x-java-remote-objectのMIMEコンテンツ・タイプを使用するようにしてください。ここで、DataFlavorの表現クラスは、転送されるRemoteインタフェースのタイプを表します。
    static final String
    application/x-java-serialized-objectというMIMEタイプは、永続化されたJavaオブジェクト(複数可)のグラフを表します。
    static final DataFlavor
    非推奨。
    1.3以降。
    static final DataFlavor
    1つのHTMLマークアップを表します。
    static final DataFlavor
    Java Unicode Stringクラスを表すDataFlavor。ここでは、次のようになります。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    新しいDataFlavorを構築します。
    DataFlavor(Class<?> representationClass, String humanPresentableName)
    Javaクラスを表すDataFlavorを構築します。
    DataFlavor(String mimeType)
    mimeType文字列からDataFlavorを構築します。
    DataFlavor(String mimeType, String humanPresentableName)
    MimeTypeを表すDataFlavorを構築します。
    DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader)
    MimeTypeを表すDataFlavorを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    このDataFlavorの複製を返します。
    boolean
    このメソッドの動作は、equals(Object)と同じです。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    boolean
    非推奨。
    hashCode()契約と矛盾するので、代わりにisMimeTypeEqual(String)を使用してください。
    final Class<?>
    デフォルトの表現クラスを返します。
    final String
    デフォルト表現クラスの名前を返します。
    このDataFlavorが表すデータ形式の判読できる名前を返します。
    このDataFlavorのMIMEタイプの文字列を返します。
    getParameter(String paramName)
    paramNameが「humanPresentableName」に等しい場合は、このDataFlavorの判読できる名前を返します。
    このDataFlavorのプライマリMIMEタイプを返します。
    必要に応じて、予想される文字セット(エンコード)をデコードしたテキスト・フレーバのReaderを取得します。
    このDataFlavorが要求されたときに、このDataFlavorをサポートしているオブジェクトが返すClassを返します。
    このDataFlavorのサブMIMEタイプを返します。
    static final DataFlavor
    Unicodeエンコーディングでプレーン・テキストを表すDataFlavorを返します。ここでは、次のようになります。
    int
    このDataFlavorのハッシュ・コードを返します。
    boolean
    指定されたDataFlavorがファイル・オブジェクトのリストを表す場合、trueを返します。
    boolean
    指定されたDataFlavorがリモート・オブジェクトを表す場合は、trueを返します。
    boolean
    指定されたDataFlavorが直列化されたオブジェクトを表す場合、trueを返します。
    boolean
    このDataFlavorがJavaプラットフォームのこの実装のための有効なテキスト・フレーバであるかどうかを返します。
    final boolean
    2つのDataFlavorオブジェクトのmimeTypeを比較します。
    boolean
    渡されたMIMEタイプの文字列表現がこのDataFlavorのMIMEタイプと同等であるかどうかを返します。
    boolean
    DataFlavorが直列化オブジェクトを表すかどうか。
    boolean
    このDataFlavorの表現クラスがjava.nio.ByteBufferか、またはそのサブクラスのどちらであるかを返します。
    boolean
    このDataFlavorの表現クラスがjava.nio.CharBufferか、またはそのサブクラスのどちらであるかを返します。
    boolean
    DataFlavorjava.io.InputStreamを表すかどうか。
    boolean
    このDataFlavorの表現クラスがjava.io.Readerか、またはそのサブクラスのどちらであるかを返します。
    boolean
    表現クラスがRemoteの場合、trueを返します。
    boolean
    表現クラスを直列化できる場合はtrueを返します。
    boolean
    equals(DataFlavor)と同じ。
    protected String
    非推奨。
    1.1以降では、このメソッドがこの実装によって呼び出されることはありません
    protected String
    normalizeMimeTypeParameter(String parameterName, String parameterValue)
    非推奨。
    1.1以降では、このメソッドがこの実装によって呼び出されることはありません
    void
    このDataFlavorを直列化された状態から復元します。
    static final DataFlavor
    selectBestTextFlavor(DataFlavor[] availableFlavors)
    DataFlavorの配列から最適なテキストDataFlavorを選択します。
    void
    setHumanPresentableName(String humanPresentableName)
    このDataFlavorが表すデータ形式の判読できる名前を設定します。
    このDataFlavorとそのパラメータの文字列表現。
    protected static final Class<?>
    tryToLoadClass(String className, ClassLoader fallback)
    ブートストラップ・ローダー、システム・ローダー、コンテキスト・ローダー(存在する場合)、指定されたローダーの順番でクラスのロードを試みます。
    void
    このDataFlavorを直列化します。

    クラスjava.lang.Objectで宣言されたメソッド

    finalize, getClass, notify, notifyAll, wait, wait, wait
  • フィールド詳細

    • stringFlavor

      public static final DataFlavor stringFlavor
      Java Unicode Stringクラスを表すDataFlavor。ここでは、次のようになります。
           representationClass = java.lang.String
           mimeType            = "application/x-java-serialized-object"
       
    • imageFlavor

      public static final DataFlavor imageFlavor
      Java Imageクラスを表すDataFlavor。ここでは、次のようになります。
           representationClass = java.awt.Image
           mimeType            = "image/x-java-image"
       
      java.awt.Imageが表示されない場合、java.desktopモジュールがロードされない場合、またはjava.desktopモジュールがランタイム・イメージにない場合、nullになります。
    • plainTextFlavor

      @Deprecated public static final DataFlavor plainTextFlavor
      非推奨。
      1.3以降。 Transferable.getTransferData(DataFlavor.plainTextFlavor)の代わりにgetReaderForText(java.awt.datatransfer.Transferable)を使用してください。
      Unicodeエンコーディングでプレーン・テキストを表すDataFlavor
           representationClass = InputStream
           mimeType            = "text/plain; charset=unicode"
       
      このDataFlavordeprecatedされています:
      • その表現は、8ビット・ベースの表現であるInputStreamであり、Unicodeは16ビットの文字セットです
      • 文字セット"unicode"は明確に定義されていません。"unicode"は、クロス・プラットフォーム実装ではなく、特定のプラットフォームのUnicodeの実装を意味
    • javaSerializedObjectMimeType

      public static final String javaSerializedObjectMimeType
      application/x-java-serialized-objectというMIMEタイプは、永続化されたJavaオブジェクト(複数可)のグラフを表します。

      このDataFlavorに関連付けられた表現クラスによって、java.awt.datatransfer.getTransferDataの呼び出しからの参照として返されたオブジェクトのJava型が識別されます。

      関連項目:
    • javaFileListFlavor

      public static final DataFlavor javaFileListFlavor
      Java (および基本となるプラットフォーム)との間でファイルのリストを転送するには、このタイプ/サブタイプのDataFlavorと、java.util.Listの表現クラスが使用されます。 リストの各要素はjava.io.File型であることが要求されるか、または保証されます。
    • javaJVMLocalObjectMimeType

      public static final String javaJVMLocalObjectMimeType
      MIMEコンテンツ・タイプが関連付けられていない任意のJavaオブジェクト参照への参照を同じJVM内のTransferableインタフェース経由で転送するには、このタイプ/サブタイプのDataFlavorが、Transferable経由で渡されるクラス/インタフェースのタイプに等しいrepresentationClassとともに使用されます。

      このMIMEコンテンツ・タイプのDataFlavorに対してTransferable.getTransferDataから返されたオブジェクト参照は、DataFlavorの表現クラスのインスタンスである必要があります。

      関連項目:
    • javaRemoteObjectMimeType

      public static final String javaRemoteObjectMimeType
      有効なリンクをドラッグ&ドロップACTION_LINK操作によってリモート・オブジェクトに渡すには、application/x-java-remote-objectのMIMEコンテンツ・タイプを使用するようにしてください。ここで、DataFlavorの表現クラスは、転送されるRemoteインタフェースのタイプを表します。
      関連項目:
    • selectionHtmlFlavor

      public static final DataFlavor selectionHtmlFlavor
      1つのHTMLマークアップを表します。 このマークアップは、ソース側で選択された部分で構成されます。 したがって、マークアップの一部のタグには、対応するタグがない場合があります。 フレーバを使用してTransferableインスタンス内のデータが表されている場合、追加の変更は行われません。 このDataFlavorインスタンスは、コンテンツのMIMEタイプにドキュメント・パラメータが含まれておらず、表現クラスがStringクラスであるDataFlavorインスタンスと同じHTMLマークアップを表しています。
           representationClass = String
           mimeType            = "text/html"
       
      導入されたバージョン:
      1.8
    • fragmentHtmlFlavor

      public static final DataFlavor fragmentHtmlFlavor
      1つのHTMLマークアップを表します。 可能な場合は、ネイティブ・システムから受け取ったマークアップが補足され、ペア・タグが整形式のHTMLマークアップになります。 フレーバを使用してTransferableインスタンス内のデータが表されている場合、追加の変更は行われません。
           representationClass = String
           mimeType            = "text/html"
       
      導入されたバージョン:
      1.8
    • allHtmlFlavor

      public static final DataFlavor allHtmlFlavor
      1つのHTMLマークアップを表します。 可能な場合は、ネイティブ・システムから受け取ったマークアップが補足され、追加のタグによって整形式のHTMLドキュメントが作成されます。 フレーバを使用してTransferableインスタンス内のデータが表されている場合、追加の変更は行われません。
           representationClass = String
           mimeType            = "text/html"
       
      導入されたバージョン:
      1.8
  • コンストラクタの詳細

    • DataFlavor

      public DataFlavor()
      新しいDataFlavorを構築します。 このコンストラクタは、Externalizableインタフェースをサポートする目的のためにのみ提供されます。 public (クライアント)使用を目的とはしていません。
      導入されたバージョン:
      1.2
    • DataFlavor

      public DataFlavor(Class<?> representationClass, String humanPresentableName)
      Javaクラスを表すDataFlavorを構築します。

      返されたDataFlavorには次の特性があります。

          representationClass = representationClass
          mimeType            = application/x-java-serialized-object
       

      パラメータ:
      representationClass - このフレーバでデータを転送するために使用されるクラス
      humanPresentableName - この風味を識別するために人間が読める文字列。このパラメータがnullの場合は、MIMEコンテンツ型の値が使用されます
      例外:
      NullPointerException - representationClassnullの場合
    • DataFlavor

      public DataFlavor(String mimeType, String humanPresentableName)
      MimeTypeを表すDataFlavorを構築します。

      返されたDataFlavorには次の特性があります。

      mimeTypeが"application/x-java-serialized-object; class=<representation class>"の場合、結果はnew DataFlavor(Class.forName(<representation class>)を呼び出すのと同じ結果になります。

      そうでない場合は、次のようになります。

           representationClass = InputStream
           mimeType            = mimeType
       

      パラメータ:
      mimeType - このフレーバのMIMEタイプを識別するために使用される文字列。mimeTypeで"class="パラメータが指定されていない場合、またはクラスが正常にロードされない場合は、IllegalArgumentExceptionがスローされます
      humanPresentableName - この風味を識別するために人間が読める文字列。このパラメータがnullの場合は、MIMEコンテンツ型の値が使用されます
      例外:
      IllegalArgumentException - mimeTypeが無効な場合、またはクラスが正常にロードされない場合
      NullPointerException - mimeTypenullの場合
    • DataFlavor

      public DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader) throws ClassNotFoundException
      MimeTypeを表すDataFlavorを構築します。

      返されたDataFlavorには次の特性があります。

      mimeTypeが"application/x-java-serialized-object; class=<representation class>"の場合、結果はnew DataFlavor(Class.forName(<representation class>)を呼び出すと同じ結果になります。

      そうでない場合は、次のようになります。

           representationClass = InputStream
           mimeType            = mimeType
       

      パラメータ:
      mimeType - このフレーバのMIMEタイプを識別するために使用される文字列
      humanPresentableName - このフレーバを識別するために使用される人間が読める形式の文字列
      classLoader - 使用するクラス・ローダー
      例外:
      ClassNotFoundException - クラスがロードされていない場合
      IllegalArgumentException - mimeTypeが無効である場合
      NullPointerException - mimeTypenullの場合
    • DataFlavor

      public DataFlavor(String mimeType) throws ClassNotFoundException
      mimeType文字列からDataFlavorを構築します。 文字列は、「class=<fully specified Java class name>」パラメータを指定し、指定した表現クラスでDataFlavorを作成できます。 この文字列に「class=」パラメータが含まれていない場合は、java.io.InputStreamがデフォルトとして使用されます。
      パラメータ:
      mimeType - このフレーバのMIMEタイプを識別するために使用される文字列。"class="パラメータで指定されたクラスが正常にロードされなかった場合は、ClassNotFoundExceptionがスローされます。
      例外:
      ClassNotFoundException - クラスがロードされていない場合
      IllegalArgumentException - mimeTypeが無効である場合
      NullPointerException - mimeTypenullの場合
  • メソッドの詳細

    • tryToLoadClass

      protected static final Class<?> tryToLoadClass(String className, ClassLoader fallback) throws ClassNotFoundException
      ブートストラップ・ローダー、システム・ローダー、コンテキスト・ローダー(存在する場合)、指定されたローダーの順番でクラスのロードを試みます。
      パラメータ:
      className - ロードされるクラスの名前
      fallback - 代替用ローダー
      戻り値:
      ロードされたクラス
      例外:
      ClassNotFoundException - クラスが見つからない場合
    • toString

      public String toString()
      このDataFlavorとそのパラメータの文字列表現。 結果として得られるStringには、DataFlavorクラスの名前、このフレーバのMIMEタイプ、およびその表現クラスが含まれます。 このフレーバに「テキスト」のプライマリMIMEタイプがあり、文字セット・パラメータをサポートしていて、符号化された表現がある場合には、フレーバの文字セットも含まれます。 文字セット・パラメータをサポートするテキスト・フレーバのリストについては、selectBestTextFlavorを参照してください。
      オーバーライド:
      toString、クラスObject
      戻り値:
      このDataFlavorの文字列表現
      関連項目:
    • getTextPlainUnicodeFlavor

      public static final DataFlavor getTextPlainUnicodeFlavor()
      Unicodeエンコーディングでプレーン・テキストを表すDataFlavorを返します。ここでは、次のようになります。
           representationClass = java.io.InputStream
           mimeType            = "text/plain;
                                  charset=<platform default Unicode encoding>"
       
      実装上のノート:
      Microsoft WindowsおよびmacOSに対するOracleの実装では、エンコーディングutf-16leが使用されます。 SolarisおよびLinux用のOracleの実装では、エンコーディングiso-10646-ucs-2が使用されます。
      戻り値:
      Unicodeエンコーディングでプレーン・テキストを表すDataFlavor
      導入されたバージョン:
      1.3
    • selectBestTextFlavor

      public static final DataFlavor selectBestTextFlavor(DataFlavor[] availableFlavors)
      DataFlavorの配列から最適なテキストDataFlavorを選択します。 選択肢として見なされるのは、DataFlavor.stringFlavor、同等のフレーバ、および「text」のプライマリMIMEタイプを持つフレーバだけです。

      最初に、フレーバはMIMEタイプで次の順にソートされます。

      • "text/sgml"
      • "text/xml"
      • "text/html"
      • "text/rtf"
      • "text/enriched"
      • "text/richtext"
      • "text/uri-list"
      • "text/tab-separated-values"
      • "text/t140"
      • "text/rfc822-headers"
      • "text/parityfec"
      • "text/directory"
      • "text/css"
      • "text/calendar"
      • "application/x-java-serialized-object"
      • "text/plain"
      • "text/<その他>"

      たとえば、「text/sgml」は「text/html」より先に選択され、DataFlavor.stringFlavorDataFlavor.plainTextFlavorより先に選択されます。

      配列で2つ以上のフレーバが最適なMIMEタイプを共有している場合は、そのMIMEタイプが文字セット・パラメータをサポートしているかどうか確認されます。

      文字セット・パラメータをサポートしている、またはサポートしているかのように扱われるMIMEタイプは次のとおりです。

      • "text/sgml"
      • "text/xml"
      • "text/html"
      • "text/enriched"
      • "text/richtext"
      • "text/uri-list"
      • "text/directory"
      • "text/css"
      • "text/calendar"
      • "application/x-java-serialized-object"
      • "text/plain"
      文字セット・パラメータをサポートしていない、またはサポートしていないかのように扱われるMIMEタイプは次のとおりです。
      • "text/rtf"
      • "text/tab-separated-values"
      • "text/t140"
      • "text/rfc822-headers"
      • "text/parityfec"
      「text/<その他>」のMIMEタイプの場合は、MIMEタイプで文字セット・パラメータがサポートされているかどうかをはじめて判定する必要が発生すると、JREは、そのMIMEタイプを使用する任意に選択されたDataFlavorにそのパラメータが明示的にリストされているかどうかをチェックします。 その場合、JREはその時点から、MIMEタイプが文字セット・パラメータをサポートしていると仮定し、再度確認することはありません。 パラメータが明示的にリストされていない場合、JREはその時点から、MIMEタイプが文字セット・パラメータをサポートしていないと仮定し、再度確認することはありません。 このチェックは任意に選択されたDataFlavorに対して実行されるため、そのMIMEタイプで文字セット・パラメータがサポートされている場合、開発者は「text/<その他>」のMIMEタイプを持つすべてのDataFlavorで文字セット・パラメータが確実に指定されているようにする必要があります。 開発者は、「text/<その他>」のDataFlavorがJREによってプラットフォームのデフォルトの文字セットに置き換えられることに依存してはいけません。 この制限に従わない場合、定義されていない動作が発生します。

      配列内の最適なMIMEタイプで文字セット・パラメータがサポートされていない場合、そのMIMEタイプを共有するフレーバは、その表現クラスによってjava.io.InputStreamjava.nio.ByteBuffer[B、<残りすべて>の順にソートされます。

      2つ以上のフレーバで最適な表現クラスを共有している場合、または指定された3つの表現のいずれかを持つフレーバがない場合は、それらのフレーバのいずれか1つが無作為に選択されます。

      配列内の最適なMIMEタイプで文字セット・パラメータがサポートされている場合、そのMIMEタイプを共有するフレーバは、その表現クラスによってjava.io.Readerjava.lang.Stringjava.nio.CharBuffer[C、<残りすべて>の順にソートされます。

      2つ以上のフレーバで最適な表現クラスを共有しており、その表現が明示的にリストした4つのいずれかである場合、それらのフレーバのいずれか1つが無作為に選択されます。 ただし、指定された4つの表現のいずれかを持つフレーバがない場合、フレーバはその文字セットでソートされます。 UTF-16、UTF-8、UTF-16BE、UTF-16LEなどのUnicode文字セットとそのエイリアスが最適であるとみなされます。 その後、プラットフォームのデフォルト文字セットとそのエイリアスが選択されます。 US-ASCIIとそのエイリアスはもっとも不適です。 その他の文字セットはアルファベット順に選択されます。ただし、Javaプラットフォームの実装でサポートされている文字セットに限られます。

      2つ以上のフレーバが最適な文字セットを共有している場合、フレーバは再度、その表現クラスによってjava.io.InputStreamjava.nio.ByteBuffer[B、<残りすべて>の順にソートされます。

      2つ以上のフレーバで最適な表現クラスを共有している場合、または指定された3つの表現のいずれかを持つフレーバがない場合は、それらのフレーバのいずれか1つが無作為に選択されます。

      パラメータ:
      availableFlavors - 使用可能なDataFlavorの配列
      戻り値:
      上で指定されたルールに関して最適な(最適合)フレーバ。availableFlavorsnullか、長さがゼロか、またはテキスト・フレーバを含まない場合はnull
      導入されたバージョン:
      1.3
    • getReaderForText

      public Reader getReaderForText(Transferable transferable) throws UnsupportedFlavorException, IOException
      必要に応じて、予想される文字セット(エンコード)をデコードしたテキスト・フレーバのReaderを取得します。 サポートされる表現クラスは、java.io.Readerjava.lang.Stringjava.nio.CharBuffer[Cjava.io.InputStreamjava.nio.ByteBuffer、および[Bです。

      文字セット・パラメータをサポートしていないテキスト・フレーバは標準以外のフォーマットで符号化されるため、そのようなフレーバに対してこのメソッドを呼び出すべきではありません。 ただし、下位互換性を維持するために、そのようなフレーバでこのメソッドが呼び出された場合は、文字セット・パラメータをサポートしているかのようにフレーバを扱い、それに従ってデコードしようとします。 文字セット・パラメータをサポートしていないテキスト・フレーバのリストについては、selectBestTextFlavorを参照してください。

      パラメータ:
      transferable - このフレーバでデータが要求されるTransferable
      戻り値:
      Transferableのデータを読み込むためのReader
      例外:
      IllegalArgumentException - 表現クラスが上記の7つのリストにない場合
      IllegalArgumentException - Transferablenullデータが含まれている場合
      NullPointerException - Transferablenullである場合
      UnsupportedEncodingException - このフレーバの表現がjava.io.InputStreamjava.nio.ByteBuffer、または[Bであり、かつこのフレーバのエンコーディングがこのJavaプラットフォームの実装でサポートされていない場合
      UnsupportedFlavorException - Transferableがこのフレーバをサポートしていない場合
      IOException - 入出力エラーのためにデータを読み込めない場合
      導入されたバージョン:
      1.3
      関連項目:
    • getMimeType

      public String getMimeType()
      このDataFlavorのMIMEタイプの文字列を返します。
      戻り値:
      このフレーバのMIMEタイプの文字列
    • getRepresentationClass

      public Class<?> getRepresentationClass()
      このDataFlavorが要求されたときに、このDataFlavorをサポートしているオブジェクトが返すClassを返します。
      戻り値:
      このDataFlavorが要求されたときに、このDataFlavorをサポートしているオブジェクトが返すClass
    • getHumanPresentableName

      public String getHumanPresentableName()
      このDataFlavorが表すデータ形式の判読できる名前を返します。 この名前は、それぞれの国に対応した名前になります。
      戻り値:
      このDataFlavorが表すデータ形式の判読できる名前
    • getPrimaryType

      public String getPrimaryType()
      このDataFlavorのプライマリMIMEタイプを返します。
      戻り値:
      このDataFlavorのプライマリMIMEタイプ
    • getSubType

      public String getSubType()
      このDataFlavorのサブMIMEタイプを返します。
      戻り値:
      このDataFlavorのサブMIMEタイプ
    • getParameter

      public String getParameter(String paramName)
      paramNameが「humanPresentableName」に等しい場合は、このDataFlavorの判読できる名前を返します。 そうでない場合は、paramNameに関連付けられたMIMEタイプの値を返します。
      パラメータ:
      paramName - 要求されたパラメータ名
      戻り値:
      名前パラメータの値。関連付けられた値がない場合はnull
    • setHumanPresentableName

      public void setHumanPresentableName(String humanPresentableName)
      このDataFlavorが表すデータ形式の判読できる名前を設定します。 この名前は、それぞれの国に対応した名前になります。
      パラメータ:
      humanPresentableName - 新しい判読できる名前
    • equals

      public boolean equals(Object o)
      このオブジェクトと他のオブジェクトが等しいかどうかを示します。

      equalsメソッドは、null以外のオブジェクト参照での同値関係を実装します。

      • 反射性(reflexive): null以外の参照値xについて、x.equals(x)trueを返します。
      • 対称性(symmetric): null以外の参照値xおよびyについて、y.equals(x)trueを返す場合に限り、x.equals(y)trueを返します。
      • 推移性(transitive): null以外の参照値xy、およびzについて、x.equals(y)trueを返し、y.equals(z)trueを返す場合、x.equals(z)trueを返します。
      • 一貫性(consistent): null以外の参照値xおよびyについて、x.equals(y)の複数の呼出しは、このオブジェクトに対するequalsによる比較で使われた情報が変更されていなければ、一貫してtrueを返すか、一貫してfalseを返します。
      • null以外の参照値xについて、x.equals(null)falseを返します。

      等価関係は、操作対象の要素を「同等クラス」にパーティション化し、等価クラスのすべてのメンバーは互いに等しくなります。 等価クラスのメンバーは、少なくともなんらかの目的で互いに置換可能です。

      DataFlavorクラスが等しいかどうかの比較は、次のように実行されます。2つのDataFlavorは、それらのMIMEプライマリ・タイプ、サブタイプ、および表現クラスが等しい場合にのみ等しいと見なされます。 さらに、プライマリ・タイプが「text」であり、サブタイプが文字セット・パラメータをサポートするテキスト・フレーバを示し、さらに表現クラスがjava.io.Readerjava.lang.Stringjava.nio.CharBuffer[Cのいずれでもない場合は、charsetパラメータも等しいと見なされます。 DataFlavorのどちらかまたは両方で文字セットが明示的に指定されていない場合は、プラットフォームのデフォルト・エンコーディングが使用されます。 文字セット・パラメータをサポートするテキスト・フレーバのリストについては、selectBestTextFlavorを参照してください。

      オーバーライド:
      equals、クラスObject
      パラメータ:
      o - thisと比較するObject
      戻り値:
      thatがこのDataFlavorと同等である場合はtrue、そうでない場合はfalse
      関連項目:
    • equals

      public boolean equals(DataFlavor that)
      このメソッドの動作は、equals(Object)と同じです。 異なる点は、パラメータとしてDataFlavorインスタンスを取ることだけです。
      パラメータ:
      that - thisと比較するDataFlavor
      戻り値:
      thatがこのDataFlavorと同等である場合はtrue、そうでない場合はfalse
      関連項目:
    • equals

      @Deprecated public boolean equals(String s)
      非推奨。
      hashCode()契約と矛盾するので、代わりにisMimeTypeEqual(String)を使用してください。
      mimeTypeのみを渡されたStringと比較します。representationClassは比較で考慮されません。 representationClassを比較する必要がある場合は、equals(new DataFlavor(s))を使用できます。
      パラメータ:
      s - 比較するmimeType
      戻り値:
      String (MimeType)が等しい場合はtrue、それ以外の場合、またはsnullの場合
    • hashCode

      public int hashCode()
      このDataFlavorのハッシュ・コードを返します。 2つのDataFlavorが等しい場合は、ハッシュ・コードも等しくなります。 DataFlavor.equals(String)に一致するStringの場合は、DataFlavorのハッシュ・コードがStringのハッシュ・コードに等しいことは保証されません。
      オーバーライド:
      hashCode、クラスObject
      戻り値:
      このDataFlavorのハッシュ・コード
      関連項目:
    • match

      public boolean match(DataFlavor that)
      equals(DataFlavor)と同じ。
      パラメータ:
      that - thisと比較するDataFlavor
      戻り値:
      thatがこのDataFlavorと同等である場合はtrue、そうでない場合はfalse
      導入されたバージョン:
      1.3
      関連項目:
    • isMimeTypeEqual

      public boolean isMimeTypeEqual(String mimeType)
      渡されたMIMEタイプの文字列表現がこのDataFlavorのMIMEタイプと同等であるかどうかを返します。 パラメータは比較の対象ではありません。
      パラメータ:
      mimeType - MIMEタイプの文字列表現
      戻り値:
      true渡されたMIMEタイプの文字列表現がこのDataFlavorのMIMEタイプと等しい場合。falseそうでなければ
      例外:
      NullPointerException - mimeTypeがnullの場合
    • isMimeTypeEqual

      public final boolean isMimeTypeEqual(DataFlavor dataFlavor)
      2つのDataFlavorオブジェクトのmimeTypeを比較します。 パラメータは比較の対象ではありません。
      パラメータ:
      dataFlavor - 比較対象のDataFlavor
      戻り値:
      MimeTypeが等しい場合はtrue、そうでない場合はfalse
    • isMimeTypeSerializedObject

      public boolean isMimeTypeSerializedObject()
      DataFlavorが直列化オブジェクトを表すかどうか。
      戻り値:
      直列化されたオブジェクトが表現されているかどうか
    • getDefaultRepresentationClass

      public final Class<?> getDefaultRepresentationClass()
      デフォルトの表現クラスを返します。
      戻り値:
      デフォルト表現クラス
    • getDefaultRepresentationClassAsString

      public final String getDefaultRepresentationClassAsString()
      デフォルト表現クラスの名前を返します。
      戻り値:
      デフォルト表現クラスの名前
    • isRepresentationClassInputStream

      public boolean isRepresentationClassInputStream()
      DataFlavorjava.io.InputStreamを表すかどうか。
      戻り値:
      このDataFlavorjava.io.InputStreamを表すかどうか
    • isRepresentationClassReader

      public boolean isRepresentationClassReader()
      このDataFlavorの表現クラスがjava.io.Readerか、またはそのサブクラスのどちらであるかを返します。
      戻り値:
      このDataFlavorの表現クラスがjava.io.Readerかそのサブクラスかどうか
      導入されたバージョン:
      1.4
    • isRepresentationClassCharBuffer

      public boolean isRepresentationClassCharBuffer()
      このDataFlavorの表現クラスがjava.nio.CharBufferか、またはそのサブクラスのどちらであるかを返します。
      戻り値:
      このDataFlavorの表現クラスがjava.nio.CharBufferかそのサブクラスかどうか
      導入されたバージョン:
      1.4
    • isRepresentationClassByteBuffer

      public boolean isRepresentationClassByteBuffer()
      このDataFlavorの表現クラスがjava.nio.ByteBufferか、またはそのサブクラスのどちらであるかを返します。
      戻り値:
      このDataFlavorの表現クラスがjava.nio.ByteBufferかそのサブクラスかどうか
      導入されたバージョン:
      1.4
    • isRepresentationClassSerializable

      public boolean isRepresentationClassSerializable()
      表現クラスを直列化できる場合はtrueを返します。
      戻り値:
      表現クラスを直列化できる場合はtrue
    • isRepresentationClassRemote

      public boolean isRepresentationClassRemote()
      表現クラスがRemoteの場合、trueを返します。
      戻り値:
      true表現クラスがRemoteの場合
    • isFlavorSerializedObjectType

      public boolean isFlavorSerializedObjectType()
      指定されたDataFlavorが直列化されたオブジェクトを表す場合、trueを返します。
      戻り値:
      指定されたDataFlavorが直列化オブジェクトを表す場合はtrue
    • isFlavorRemoteObjectType

      public boolean isFlavorRemoteObjectType()
      指定されたDataFlavorがリモート・オブジェクトを表す場合は、trueを返します。
      戻り値:
      指定されたDataFlavorがリモート・オブジェクトを表す場合はtrue
    • isFlavorJavaFileListType

      public boolean isFlavorJavaFileListType()
      指定されたDataFlavorがファイル・オブジェクトのリストを表す場合、trueを返します。
      戻り値:
      指定されたDataFlavorjava.io.Fileオブジェクトのjava.util.Listを表す場合、true
    • isFlavorTextType

      public boolean isFlavorTextType()
      このDataFlavorがJavaプラットフォームのこの実装のための有効なテキスト・フレーバであるかどうかを返します。 有効なテキスト・フレーバとして指定できるのは、DataFlavor.stringFlavorと同等のフレーバと、「text」のプライマリMIMEタイプを持つDataFlavorだけです。

      このフレーバが文字セット・パラメータをサポートしている場合は、そのフレーバがDataFlavor.stringFlavorと同等である必要がある必要があります。または、その表現がjava.io.Readerjava.lang.Stringjava.nio.CharBuffer[Cjava.io.InputStreamjava.nio.ByteBuffer[Bのいずれかである必要があります。 その表現がjava.io.InputStreamjava.nio.ByteBuffer、または[Bである場合は、このフレーバのcharsetパラメータがこのJavaプラットフォームの実装でサポートされている必要があります。 文字セットが指定されていない場合は、常にサポートされているプラットフォームのデフォルト文字セットが仮定されます。

      このフレーバが文字セット・パラメータをサポートしていない場合、その表現はjava.io.InputStreamjava.nio.ByteBuffer、または[Bである必要があります。

      文字セット・パラメータをサポートするテキスト・フレーバのリストについては、selectBestTextFlavorを参照してください。

      戻り値:
      このDataFlavorが上で説明されている有効なテキスト・フレーバである場合はtrue。そうでない場合はfalse
      導入されたバージョン:
      1.4
      関連項目:
    • writeExternal

      public void writeExternal(ObjectOutput os) throws IOException
      このDataFlavorを直列化します。
      定義:
      writeExternal、インタフェースExternalizable
      パラメータ:
      os - オブジェクトを書き込むストリーム
      例外:
      IOException - 発生する可能性のあるすべての入出力例外を含む
    • readExternal

      public void readExternal(ObjectInput is) throws IOException, ClassNotFoundException
      このDataFlavorを直列化された状態から復元します。
      定義:
      readExternal、インタフェースExternalizable
      パラメータ:
      is - オブジェクトを復元するためのデータ読込み元のストリーム
      例外:
      IOException - 入出力エラーが発生した場合
      ClassNotFoundException - 復元されているオブジェクトのクラスが見つからない場合。
    • clone

      public Object clone() throws CloneNotSupportedException
      このDataFlavorの複製を返します。
      オーバーライド:
      clone、クラスObject
      戻り値:
      このDataFlavorの複製
      例外:
      CloneNotSupportedException - オブジェクトのクラスがCloneableインタフェースをサポートしていない場合。 cloneメソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。
      関連項目:
    • normalizeMimeTypeParameter

      @Deprecated protected String normalizeMimeTypeParameter(String parameterName, String parameterValue)
      非推奨。
      1.1以降では、このメソッドがこの実装によって呼び出されることはありません
      DataFlavorサブクラスが、値の大文字と小文字を区別しないtext/plainのcharsetパラメータなどの特殊なパラメータを取り扱えるようにするために、各MIMEタイプ・パラメータのDataFlavorに対して呼び出されます。 (MIMEタイプのパラメータ値は大文字と小文字を区別することになっています。)

      このメソッドはパラメータ名とパラメータ値のペアごとに呼び出され、parameterValueの正規化された表現を返さなければいけません。

      パラメータ:
      parameterName - パラメータ名
      parameterValue - パラメータ値
      戻り値:
      パラメータ値
    • normalizeMimeType

      @Deprecated protected String normalizeMimeType(String mimeType)
      非推奨。
      1.1以降では、このメソッドがこの実装によって呼び出されることはありません
      DataFlavorサブタイプにMIMEタイプの正規化の実現方法を変更する機会を与えるために、MIMEタイプ文字列ごとに呼び出されます。 渡されたMIMEタイプの文字列にパラメータ/値のペアが存在しない場合のために、デフォルトのパラメータ/値のペアを追加するために使用することもできます。
      パラメータ:
      mimeType - MIME型
      戻り値:
      MIMEタイプ