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

      コンストラクタ 
      コンストラクタ 説明
      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を構築します。
    • フィールドの詳細

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

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

        public static 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の文字列表現
        関連項目:
        selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
      • getTextPlainUnicodeFlavor

        public static final DataFlavor getTextPlainUnicodeFlavor()
        Unicodeエンコーディングでプレーン・テキストを表すDataFlavorを返します。ここでは、次のようになります。
             representationClass = java.io.InputStream
             mimeType            = "text/plain;
                                    charset=<platform default Unicode encoding>"
         
        実装上の注意:
        OracleのMicrosoft実装WindowsとmacOSはエンコーディング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
        関連項目:
        selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
      • 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を返します。

        Objectクラスのequalsメソッドは、もっとも比較しやすいオブジェクトの同値関係を実装します。つまり、null以外の参照値xyについて、このメソッドはxyが同じオブジェクトを参照する(x == ytrue)場合にだけtrueを返します。

        通常、このメソッドをオーバーライドする場合は、hashCodeメソッドを常にオーバーライドして、「等価なオブジェクトは等価なハッシュ・コードを保持する必要がある」というhashCodeメソッドの汎用規約に従う必要があることに留意してください。

        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
        関連項目:
        selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
      • equals

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

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

        public int hashCode()
        このDataFlavorのハッシュ・コードを返します。 2つのDataFlavorが等しい場合は、ハッシュ・コードも等しくなります。 DataFlavor.equals(String)に一致するStringの場合は、DataFlavorのハッシュ・コードがStringのハッシュ・コードに等しいことは保証されません。
        オーバーライド:
        hashCode 、クラス:  Object
        戻り値:
        このDataFlavorのハッシュ・コード
        関連項目:
        Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
      • 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
        関連項目:
        selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
      • writeExternal

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

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