- すべての実装されたインタフェース:
- 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です。 getTransferDataがimageFlavorのDataFlavorで呼び出されると、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);前に説明したように、
flavor1とflavor2は同一であると見なされます。 したがって、どちらのDataFlavorでTransferableを要求しても、同じ結果が返されます。 
 Swingでのデータ転送の使用の詳細については、「Javaチュートリアル」の「ドラッグ・アンド・ドロップとデータ転送の使い方」セクションを参照してください。
- 導入されたバージョン:
- 1.1
- 関連項目:
- 直列化された形式
- 
フィールドのサマリーフィールド 修飾子と型 フィールド 説明 static DataFlavorallHtmlFlavor1つのHTMLマークアップを表します。static DataFlavorfragmentHtmlFlavor1つのHTMLマークアップを表します。static DataFlavorimageFlavorJava Imageクラスを表すDataFlavor。ここでは、次のようになります。static DataFlavorjavaFileListFlavorJava (および基本となるプラットフォーム)との間でファイルのリストを転送するには、このタイプ/サブタイプのDataFlavorと、java.util.Listの表現クラスが使用されます。static StringjavaJVMLocalObjectMimeTypeMIMEコンテンツ・タイプが関連付けられていない任意のJavaオブジェクト参照への参照を同じJVM内のTransferableインタフェース経由で転送するには、このタイプ/サブタイプのDataFlavorが、Transferable経由で渡されるクラス/インタフェースのタイプに等しいrepresentationClassとともに使用されます。static StringjavaRemoteObjectMimeType有効なリンクをドラッグ&ドロップACTION_LINK操作によってリモート・オブジェクトに渡すには、application/x-java-remote-objectのMIMEコンテンツ・タイプを使用するようにしてください。ここで、DataFlavorの表現クラスは、転送されるRemoteインタフェースのタイプを表します。static StringjavaSerializedObjectMimeTypeapplication/x-java-serialized-objectというMIMEタイプは、永続化されたJavaオブジェクト(複数可)のグラフを表します。static DataFlavorplainTextFlavorDeprecated.1.3以降。static DataFlavorselectionHtmlFlavor1つのHTMLマークアップを表します。static DataFlavorstringFlavorJava 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を構築します。
- 
メソッドのサマリー修飾子と型 メソッド 説明 Objectclone()このDataFlavorの複製を返します。booleanequals(DataFlavor that)このメソッドの動作は、equals(Object)と同じです。booleanequals(Object o)このオブジェクトと他のオブジェクトが等しいかどうかを示します。booleanequals(String s)Deprecated.hashCode()契約と矛盾するので、代わりにisMimeTypeEqual(String)を使用してください。Class<?>getDefaultRepresentationClass()デフォルトの表現クラスを返します。StringgetDefaultRepresentationClassAsString()デフォルトの表現クラスの名前を返します。StringgetHumanPresentableName()このDataFlavorが表すデータ形式の判読できる名前を返します。StringgetMimeType()このDataFlavorのMIMEタイプの文字列を返します。StringgetParameter(String paramName)paramNameが「humanPresentableName」に等しい場合は、このDataFlavorの判読できる名前を返します。StringgetPrimaryType()このDataFlavorのプライマリMIMEタイプを返します。ReadergetReaderForText(Transferable transferable)必要に応じて、予想される文字セット(エンコード)をデコードしたテキスト・フレーバのReaderを取得します。Class<?>getRepresentationClass()このDataFlavorが要求されたときに、このDataFlavorをサポートしているオブジェクトが返すClassを返します。StringgetSubType()このDataFlavorのサブMIMEタイプを返します。static DataFlavorgetTextPlainUnicodeFlavor()Unicodeエンコーディングでプレーン・テキストを表すDataFlavorを返します。ここでは、次のようになります。inthashCode()このDataFlavorのハッシュ・コードを返します。booleanisFlavorJavaFileListType()指定されたDataFlavorがファイル・オブジェクトのリストを表す場合、trueを返します。booleanisFlavorRemoteObjectType()指定されたDataFlavorがリモート・オブジェクトを表す場合は、trueを返します。booleanisFlavorSerializedObjectType()指定されたDataFlavorが直列化されたオブジェクトを表す場合、trueを返します。booleanisFlavorTextType()このDataFlavorがJavaプラットフォームのこの実装のための有効なテキスト・フレーバであるかどうかを返します。booleanisMimeTypeEqual(DataFlavor dataFlavor)2つのDataFlavorオブジェクトのmimeTypeを比較します。booleanisMimeTypeEqual(String mimeType)渡されたMIMEタイプの文字列表現がこのDataFlavorのMIMEタイプと同等であるかどうかを返します。booleanisMimeTypeSerializedObject()DataFlavorが直列化オブジェクトを表すかどうか。booleanisRepresentationClassByteBuffer()このDataFlavorの表現クラスがjava.nio.ByteBufferか、またはそのサブクラスのどちらであるかを返します。booleanisRepresentationClassCharBuffer()このDataFlavorの表現クラスがjava.nio.CharBufferか、またはそのサブクラスのどちらであるかを返します。booleanisRepresentationClassInputStream()DataFlavorがjava.io.InputStreamを表すかどうか。booleanisRepresentationClassReader()このDataFlavorの表現クラスがjava.io.Readerか、またはそのサブクラスのどちらであるかを返します。booleanisRepresentationClassRemote()表現クラスがRemoteの場合、trueを返します。booleanisRepresentationClassSerializable()表現クラスを直列化できる場合はtrueを返します。booleanmatch(DataFlavor that)protected StringnormalizeMimeType(String mimeType)Deprecated.1.1以降では、このメソッドがこの実装によって呼び出されることはありませんprotected StringnormalizeMimeTypeParameter(String parameterName, String parameterValue)Deprecated.1.1以降では、このメソッドがこの実装によって呼び出されることはありませんvoidreadExternal(ObjectInput is)このDataFlavorを直列化された状態から復元します。static DataFlavorselectBestTextFlavor(DataFlavor[] availableFlavors)DataFlavorの配列から最適なテキストDataFlavorを選択します。voidsetHumanPresentableName(String humanPresentableName)このDataFlavorが表すデータ形式の判読できる名前を設定します。StringtoString()このDataFlavorとそのパラメータの文字列表現。protected static Class<?>tryToLoadClass(String className, ClassLoader fallback)ブートストラップ・ローダー、システム・ローダー、コンテキスト・ローダー(存在する場合)、指定されたローダーの順番でクラスのロードを試みます。voidwriteExternal(ObjectOutput os)このDataFlavorを直列化します。
- 
フィールド詳細- 
stringFlavorpublic static final DataFlavor stringFlavorJava Unicode Stringクラスを表すDataFlavor。ここでは、次のようになります。representationClass = java.lang.String mimeType = "application/x-java-serialized-object"
- 
imageFlavorpublic static final DataFlavor imageFlavorJava 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 plainTextFlavorDeprecated.1.3以降。Transferable.getTransferData(DataFlavor.plainTextFlavor)の代わりにgetReaderForText(java.awt.datatransfer.Transferable)を使用してください。Unicodeエンコーディングでプレーン・テキストを表すDataFlavor。representationClass = InputStream mimeType = "text/plain; charset=unicode"このDataFlavorはdeprecatedされています:- その表現は、8ビット・ベースの表現であるInputStreamであり、Unicodeは16ビットの文字セットです
- 文字セット"unicode"は明確に定義されていません。"unicode"は、プラットフォーム間の実装ではなく、特定のプラットフォームでのUnicode実装を意味
 
- 
javaSerializedObjectMimeTypepublic static final String javaSerializedObjectMimeTypeapplication/x-java-serialized-objectというMIMEタイプは、永続化されたJavaオブジェクト(複数可)のグラフを表します。この DataFlavorに関連付けられた表現クラスによって、java.awt.datatransfer.getTransferDataの呼び出しからの参照として返されたオブジェクトのJava型が識別されます。- 関連項目:
- 定数フィールド値
 
- 
javaFileListFlavorpublic static final DataFlavor javaFileListFlavorJava (および基本となるプラットフォーム)との間でファイルのリストを転送するには、このタイプ/サブタイプのDataFlavorと、java.util.Listの表現クラスが使用されます。 リストの各要素はjava.io.File型であることが要求されるか、または保証されます。
- 
javaJVMLocalObjectMimeTypepublic static final String javaJVMLocalObjectMimeTypeMIMEコンテンツ・タイプが関連付けられていない任意のJavaオブジェクト参照への参照を同じJVM内のTransferableインタフェース経由で転送するには、このタイプ/サブタイプのDataFlavorが、Transferable経由で渡されるクラス/インタフェースのタイプに等しいrepresentationClassとともに使用されます。このMIMEコンテンツ・タイプの DataFlavorに対してTransferable.getTransferDataから返されたオブジェクト参照は、DataFlavorの表現クラスのインスタンスである必要があります。- 関連項目:
- 定数フィールド値
 
- 
javaRemoteObjectMimeTypepublic static final String javaRemoteObjectMimeType有効なリンクをドラッグ&ドロップACTION_LINK操作によってリモート・オブジェクトに渡すには、application/x-java-remote-objectのMIMEコンテンツ・タイプを使用するようにしてください。ここで、DataFlavorの表現クラスは、転送されるRemoteインタフェースのタイプを表します。- 関連項目:
- 定数フィールド値
 
- 
selectionHtmlFlavorpublic static DataFlavor selectionHtmlFlavor1つのHTMLマークアップを表します。 このマークアップは、ソース側で選択された部分で構成されます。 したがって、マークアップの一部のタグには、対応するタグがない場合があります。 フレーバを使用してTransferableインスタンス内のデータが表されている場合、追加の変更は行われません。 このDataFlavorインスタンスは、コンテンツのMIMEタイプにドキュメント・パラメータが含まれておらず、表現クラスがStringクラスであるDataFlavorインスタンスと同じHTMLマークアップを表しています。representationClass = String mimeType = "text/html"- 導入されたバージョン:
- 1.8
 
- 
fragmentHtmlFlavorpublic static DataFlavor fragmentHtmlFlavor1つのHTMLマークアップを表します。 可能な場合は、ネイティブ・システムから受け取ったマークアップが補足され、ペア・タグが整形式のHTMLマークアップになります。 フレーバを使用してTransferableインスタンス内のデータが表されている場合、追加の変更は行われません。representationClass = String mimeType = "text/html"- 導入されたバージョン:
- 1.8
 
- 
allHtmlFlavorpublic static DataFlavor allHtmlFlavor1つのHTMLマークアップを表します。 可能な場合は、ネイティブ・システムから受け取ったマークアップが補足され、追加のタグによって整形式のHTMLドキュメントが作成されます。 フレーバを使用してTransferableインスタンス内のデータが表されている場合、追加の変更は行われません。representationClass = String mimeType = "text/html"- 導入されたバージョン:
- 1.8
 
 
- 
- 
コンストラクタの詳細- 
DataFlavorpublic DataFlavor()新しいDataFlavorを構築します。 このコンストラクタは、Externalizableインタフェースをサポートする目的のためにのみ提供されます。 public (クライアント)使用を目的とはしていません。- 導入されたバージョン:
- 1.2
 
- 
DataFlavorJavaクラスを表すDataFlavorを構築します。返された DataFlavorには次の特性があります。representationClass = representationClass mimeType = application/x-java-serialized-object- パラメータ:
- representationClass- このフレーバでデータを転送するために使用されるクラス
- humanPresentableName- この風味を識別するために人間が読める文字列; このパラメータが- nullの場合は、MIMEコンテンツ型の値が使用されます
- 例外:
- NullPointerException-- representationClassが- nullの場合
 
- 
DataFlavorMimeTypeを表す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-- mimeTypeが- nullの場合
 
- 
DataFlavorpublic DataFlavor(String mimeType, String humanPresentableName, ClassLoader classLoader) throws ClassNotFoundExceptionMimeTypeを表す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-- mimeTypeが- nullの場合
 
- 
DataFlavorpublic DataFlavor(String mimeType) throws ClassNotFoundExceptionmimeType文字列からDataFlavorを構築します。 文字列は、「class=<fully specified Java class name>」パラメータを指定し、指定した表現クラスでDataFlavorを作成できます。 この文字列に「class=」パラメータが含まれていない場合は、java.io.InputStreamがデフォルトとして使用されます。- パラメータ:
- mimeType- このフレーバのMIMEタイプを識別するために使用される文字列。"class="パラメータで指定されたクラスが正常にロードされなかった場合は、- ClassNotFoundExceptionがスローされます。
- 例外:
- ClassNotFoundException- クラスがロードされていない場合
- IllegalArgumentException-- mimeTypeが無効である場合
- NullPointerException-- mimeTypeが- nullの場合
 
 
- 
- 
メソッドの詳細- 
tryToLoadClassprotected static final Class<?> tryToLoadClass(String className, ClassLoader fallback) throws ClassNotFoundExceptionブートストラップ・ローダー、システム・ローダー、コンテキスト・ローダー(存在する場合)、指定されたローダーの順番でクラスのロードを試みます。- パラメータ:
- className- ロードされるクラスの名前
- fallback- 代替用ローダー
- 戻り値:
- ロードされたクラス
- 例外:
- ClassNotFoundException- クラスが見つからない場合
 
- 
toStringpublic String toString()このDataFlavorとそのパラメータの文字列表現。 結果として得られるStringには、DataFlavorクラスの名前、このフレーバのMIMEタイプ、およびその表現クラスが含まれます。 このフレーバに「テキスト」のプライマリMIMEタイプがあり、文字セット・パラメータをサポートしていて、符号化された表現がある場合には、フレーバの文字セットも含まれます。 文字セット・パラメータをサポートするテキスト・フレーバのリストについては、selectBestTextFlavorを参照してください。- オーバーライド:
- toString、クラス:- Object
- 戻り値:
- このDataFlavorの文字列表現
- 関連項目:
- selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
 
- 
getTextPlainUnicodeFlavorpublic 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
 
- 
selectBestTextFlavorpublic 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.stringFlavorはDataFlavor.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"
 - "text/rtf"
- "text/tab-separated-values"
- "text/t140"
- "text/rfc822-headers"
- "text/parityfec"
 DataFlavorにそのパラメータが明示的にリストされているかどうかをチェックします。 その場合、JREはその時点から、MIMEタイプが文字セット・パラメータをサポートしていると仮定し、再度確認することはありません。 パラメータが明示的にリストされていない場合、JREはその時点から、MIMEタイプが文字セット・パラメータをサポートしていないと仮定し、再度確認することはありません。 このチェックは任意に選択されたDataFlavorに対して実行されるため、そのMIMEタイプで文字セット・パラメータがサポートされている場合、開発者は「text/<その他>」のMIMEタイプを持つすべてのDataFlavorで文字セット・パラメータが確実に指定されているようにする必要があります。 開発者は、「text/<その他>」のDataFlavorがJREによってプラットフォームのデフォルトの文字セットに置き換えられることに依存してはいけません。 この制限に従わない場合、定義されていない動作が発生します。配列内の最適なMIMEタイプで文字セット・パラメータがサポートされていない場合、そのMIMEタイプを共有するフレーバは、その表現クラスによって java.io.InputStream、java.nio.ByteBuffer、[B、<残りすべて>の順にソートされます。2つ以上のフレーバで最適な表現クラスを共有している場合、または指定された3つの表現のいずれかを持つフレーバがない場合は、それらのフレーバのいずれか1つが無作為に選択されます。 配列内の最適なMIMEタイプで文字セット・パラメータがサポートされている場合、そのMIMEタイプを共有するフレーバは、その表現クラスによって java.io.Reader、java.lang.String、java.nio.CharBuffer、[C、<残りすべて>の順にソートされます。2つ以上のフレーバで最適な表現クラスを共有しており、その表現が明示的にリストした4つのいずれかである場合、それらのフレーバのいずれか1つが無作為に選択されます。 ただし、指定された4つの表現のいずれかを持つフレーバがない場合、フレーバはその文字セットでソートされます。 UTF-16、UTF-8、UTF-16BE、UTF-16LEなどのUnicode文字セットとそのエイリアスが最適であるとみなされます。 その後、プラットフォームのデフォルト文字セットとそのエイリアスが選択されます。 US-ASCIIとそのエイリアスはもっとも不適です。 その他の文字セットはアルファベット順に選択されます。ただし、Javaプラットフォームの実装でサポートされている文字セットに限られます。 2つ以上のフレーバが最適な文字セットを共有している場合、フレーバは再度、その表現クラスによって java.io.InputStream、java.nio.ByteBuffer、[B、<残りすべて>の順にソートされます。2つ以上のフレーバで最適な表現クラスを共有している場合、または指定された3つの表現のいずれかを持つフレーバがない場合は、それらのフレーバのいずれか1つが無作為に選択されます。 - パラメータ:
- availableFlavors- 使用可能な- DataFlavorの配列
- 戻り値:
- 上で指定されたルールに関して最適な(最適合)フレーバ。availableFlavorsがnullか、長さがゼロか、またはテキスト・フレーバを含まない場合はnull
- 導入されたバージョン:
- 1.3
 
- 
getReaderForTextpublic Reader getReaderForText(Transferable transferable) throws UnsupportedFlavorException, IOException必要に応じて、予想される文字セット(エンコード)をデコードしたテキスト・フレーバのReaderを取得します。 サポートされる表現クラスは、java.io.Reader、java.lang.String、java.nio.CharBuffer、[C、java.io.InputStream、java.nio.ByteBuffer、および[Bです。文字セット・パラメータをサポートしていないテキスト・フレーバは標準以外のフォーマットで符号化されるため、そのようなフレーバに対してこのメソッドを呼び出すべきではありません。 ただし、下位互換性を維持するために、そのようなフレーバでこのメソッドが呼び出された場合は、文字セット・パラメータをサポートしているかのようにフレーバを扱い、それに従ってデコードしようとします。 文字セット・パラメータをサポートしていないテキスト・フレーバのリストについては、 selectBestTextFlavorを参照してください。- パラメータ:
- transferable- このフレーバでデータが要求される- Transferable
- 戻り値:
- Transferableのデータを読み込むための- Reader
- 例外:
- IllegalArgumentException- 表現クラスが上記の7つのリストにない場合
- IllegalArgumentException-- Transferableに- nullデータが含まれている場合
- NullPointerException-- Transferableが- nullである場合
- UnsupportedEncodingException- このフレーバの表現が- java.io.InputStream、- java.nio.ByteBuffer、または- [Bであり、かつこのフレーバのエンコーディングがこのJavaプラットフォームの実装でサポートされていない場合
- UnsupportedFlavorException-- Transferableがこのフレーバをサポートしていない場合
- IOException- 入出力エラーのためにデータを読み込めない場合
- 導入されたバージョン:
- 1.3
- 関連項目:
- selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
 
- 
getMimeTypepublic String getMimeType()このDataFlavorのMIMEタイプの文字列を返します。- 戻り値:
- このフレーバのMIMEタイプの文字列
 
- 
getRepresentationClasspublic Class<?> getRepresentationClass()このDataFlavorが要求されたときに、このDataFlavorをサポートしているオブジェクトが返すClassを返します。- 戻り値:
- このDataFlavorが要求されたときに、このDataFlavorをサポートしているオブジェクトが返すClass
 
- 
getHumanPresentableNamepublic String getHumanPresentableName()このDataFlavorが表すデータ形式の判読できる名前を返します。 この名前は、それぞれの国に対応した名前になります。- 戻り値:
- このDataFlavorが表すデータ形式の判読できる名前
 
- 
getPrimaryTypepublic String getPrimaryType()このDataFlavorのプライマリMIMEタイプを返します。- 戻り値:
- このDataFlavorのプライマリMIMEタイプ
 
- 
getSubTypepublic String getSubType()このDataFlavorのサブMIMEタイプを返します。- 戻り値:
- このDataFlavorのサブMIMEタイプ
 
- 
getParameterparamNameが「humanPresentableName」に等しい場合は、このDataFlavorの判読できる名前を返します。 そうでない場合は、paramNameに関連付けられたMIMEタイプの値を返します。- パラメータ:
- paramName- 要求されたパラメータ名
- 戻り値:
- 名前パラメータの値。関連付けられた値がない場合はnull
 
- 
setHumanPresentableNamepublic void setHumanPresentableName(String humanPresentableName)このDataFlavorが表すデータ形式の判読できる名前を設定します。 この名前は、それぞれの国に対応した名前になります。- パラメータ:
- humanPresentableName- 新しい判読できる名前
 
- 
equalspublic 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以外の参照値x、y、および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以外の参照値xとyについて、このメソッドはxとyが同じオブジェクトを参照する(x == yがtrue)場合にだけtrueを返します。通常、このメソッドをオーバーライドする場合は、 hashCodeメソッドを常にオーバーライドして、「等価なオブジェクトは等価なハッシュ・コードを保持する必要がある」というhashCodeメソッドの汎用規約に従う必要があることに留意してください。DataFlavorクラスが等しいかどうかの比較は、次のように実行されます。2つのDataFlavorは、それらのMIMEプライマリ・タイプ、サブタイプ、および表現クラスが等しい場合にのみ等しいと見なされます。 さらに、プライマリ・タイプが「text」であり、サブタイプが文字セット・パラメータをサポートするテキスト・フレーバを示し、さらに表現クラスがjava.io.Reader、java.lang.String、java.nio.CharBuffer、[Cのいずれでもない場合は、charsetパラメータも等しいと見なされます。DataFlavorのどちらかまたは両方で文字セットが明示的に指定されていない場合は、プラットフォームのデフォルト・エンコーディングが使用されます。 文字セット・パラメータをサポートするテキスト・フレーバのリストについては、selectBestTextFlavorを参照してください。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- o-- thisと比較する- Object
- 戻り値:
- thatがこの- DataFlavorと同等である場合は- true、そうでない場合は- false
- 関連項目:
- selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
 
- 反射性(reflexive): null以外の参照値
- 
equalspublic boolean equals(DataFlavor that)このメソッドの動作は、equals(Object)と同じです。 異なる点は、パラメータとしてDataFlavorインスタンスを取ることだけです。- パラメータ:
- that-- thisと比較する- DataFlavor
- 戻り値:
- thatがこの- DataFlavorと同等である場合は- true、そうでない場合は- false
- 関連項目:
- selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
 
- 
equals@Deprecatedpublic boolean equals(String s)Deprecated.hashCode()契約と矛盾するので、代わりにisMimeTypeEqual(String)を使用してください。mimeTypeのみを渡されたStringと比較します。representationClassは比較で考慮されません。representationClassを比較する必要がある場合は、equals(new DataFlavor(s))を使用できます。- パラメータ:
- s- 比較する- mimeType
- 戻り値:
- String (MimeType)が等しい場合はtrue; それ以外の場合、またはsがnullの場合false
 
- 
hashCodepublic int hashCode()このDataFlavorのハッシュ・コードを返します。 2つのDataFlavorが等しい場合は、ハッシュ・コードも等しくなります。DataFlavor.equals(String)に一致するStringの場合は、DataFlavorのハッシュ・コードがStringのハッシュ・コードに等しいことは保証されません。- オーバーライド:
- hashCode、クラス:- Object
- 戻り値:
- このDataFlavorのハッシュ・コード
- 関連項目:
- Object.equals(java.lang.Object),- System.identityHashCode(java.lang.Object)
 
- 
matchpublic boolean match(DataFlavor that)- パラメータ:
- that-- thisと比較する- DataFlavor
- 戻り値:
- thatがこの- DataFlavorと同等である場合は- true、そうでない場合は- false
- 導入されたバージョン:
- 1.3
- 関連項目:
- selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
 
- 
isMimeTypeEqualpublic boolean isMimeTypeEqual(String mimeType)渡されたMIMEタイプの文字列表現がこのDataFlavorのMIMEタイプと同等であるかどうかを返します。 パラメータは比較の対象ではありません。- パラメータ:
- mimeType- MIMEタイプの文字列表現
- 戻り値:
- true渡されたMIMEタイプの文字列表現がこの- DataFlavorのMIMEタイプと等しい場合;- falseそうでなければ
- 例外:
- NullPointerException- mimeTypeが- nullの場合
 
- 
isMimeTypeEqualpublic final boolean isMimeTypeEqual(DataFlavor dataFlavor)2つのDataFlavorオブジェクトのmimeTypeを比較します。 パラメータは比較の対象ではありません。- パラメータ:
- dataFlavor- 比較対象の- DataFlavor
- 戻り値:
- MimeTypeが等しい場合は- true、そうでない場合は- false
 
- 
isMimeTypeSerializedObjectpublic boolean isMimeTypeSerializedObject()DataFlavorが直列化オブジェクトを表すかどうか。- 戻り値:
- 直列化されたオブジェクトが表現されているかどうか
 
- 
getDefaultRepresentationClasspublic final Class<?> getDefaultRepresentationClass()デフォルトの表現クラスを返します。- 戻り値:
- デフォルト表現クラス
 
- 
getDefaultRepresentationClassAsStringpublic final String getDefaultRepresentationClassAsString()デフォルトの表現クラスの名前を返します。- 戻り値:
- デフォルト表現クラスの名前
 
- 
isRepresentationClassInputStreampublic boolean isRepresentationClassInputStream()DataFlavorがjava.io.InputStreamを表すかどうか。- 戻り値:
- このDataFlavorがjava.io.InputStreamを表すかどうか
 
- 
isRepresentationClassReaderpublic boolean isRepresentationClassReader()このDataFlavorの表現クラスがjava.io.Readerか、またはそのサブクラスのどちらであるかを返します。- 戻り値:
- このDataFlavorの表現クラスがjava.io.Readerかそのサブクラスかどうか
- 導入されたバージョン:
- 1.4
 
- 
isRepresentationClassCharBufferpublic boolean isRepresentationClassCharBuffer()このDataFlavorの表現クラスがjava.nio.CharBufferか、またはそのサブクラスのどちらであるかを返します。- 戻り値:
- このDataFlavorの表現クラスがjava.nio.CharBufferかそのサブクラスかどうか
- 導入されたバージョン:
- 1.4
 
- 
isRepresentationClassByteBufferpublic boolean isRepresentationClassByteBuffer()このDataFlavorの表現クラスがjava.nio.ByteBufferか、またはそのサブクラスのどちらであるかを返します。- 戻り値:
- このDataFlavorの表現クラスがjava.nio.ByteBufferかそのサブクラスかどうか
- 導入されたバージョン:
- 1.4
 
- 
isRepresentationClassSerializablepublic boolean isRepresentationClassSerializable()表現クラスを直列化できる場合はtrueを返します。- 戻り値:
- 表現クラスを直列化できる場合はtrue
 
- 
isRepresentationClassRemotepublic boolean isRepresentationClassRemote()表現クラスがRemoteの場合、trueを返します。- 戻り値:
- true表現クラスが- Remoteの場合
 
- 
isFlavorSerializedObjectTypepublic boolean isFlavorSerializedObjectType()指定されたDataFlavorが直列化されたオブジェクトを表す場合、trueを返します。- 戻り値:
- 指定されたDataFlavorが直列化オブジェクトを表す場合はtrue
 
- 
isFlavorRemoteObjectTypepublic boolean isFlavorRemoteObjectType()指定されたDataFlavorがリモート・オブジェクトを表す場合は、trueを返します。- 戻り値:
- 指定されたDataFlavorがリモート・オブジェクトを表す場合はtrue
 
- 
isFlavorJavaFileListTypepublic boolean isFlavorJavaFileListType()指定されたDataFlavorがファイル・オブジェクトのリストを表す場合、trueを返します。- 戻り値:
- 指定されたDataFlavorがjava.io.Fileオブジェクトのjava.util.Listを表す場合、true
 
- 
isFlavorTextTypepublic boolean isFlavorTextType()このDataFlavorがJavaプラットフォームのこの実装のための有効なテキスト・フレーバであるかどうかを返します。 有効なテキスト・フレーバとして指定できるのは、DataFlavor.stringFlavorと同等のフレーバと、「text」のプライマリMIMEタイプを持つDataFlavorだけです。このフレーバが文字セット・パラメータをサポートしている場合は、そのフレーバが DataFlavor.stringFlavorと同等である必要がある必要があります。または、その表現がjava.io.Reader、java.lang.String、java.nio.CharBuffer、[C、java.io.InputStream、java.nio.ByteBuffer、[Bのいずれかである必要があります。 その表現がjava.io.InputStream、java.nio.ByteBuffer、または[Bである場合は、このフレーバのcharsetパラメータがこのJavaプラットフォームの実装でサポートされている必要があります。 文字セットが指定されていない場合は、常にサポートされているプラットフォームのデフォルト文字セットが仮定されます。このフレーバが文字セット・パラメータをサポートしていない場合、その表現は java.io.InputStream、java.nio.ByteBuffer、または[Bである必要があります。文字セット・パラメータをサポートするテキスト・フレーバのリストについては、 selectBestTextFlavorを参照してください。- 戻り値:
- このDataFlavorが上で説明されている有効なテキスト・フレーバである場合はtrue。そうでない場合はfalse
- 導入されたバージョン:
- 1.4
- 関連項目:
- selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
 
- 
writeExternalpublic void writeExternal(ObjectOutput os) throws IOExceptionこのDataFlavorを直列化します。- 定義:
- writeExternal、インタフェース:- Externalizable
- パラメータ:
- os- オブジェクトを書き込むストリーム
- 例外:
- IOException- 発生する可能性のあるすべての入出力例外を含む
 
- 
readExternalpublic void readExternal(ObjectInput is) throws IOException, ClassNotFoundExceptionこのDataFlavorを直列化された状態から復元します。- 定義:
- readExternal、インタフェース:- Externalizable
- パラメータ:
- is- オブジェクトを復元するためのデータ読込み元のストリーム
- 例外:
- IOException- 入出力エラーが発生した場合
- ClassNotFoundException- 復元されているオブジェクトのクラスが見つからない場合。
 
- 
clonepublic Object clone() throws CloneNotSupportedExceptionこのDataFlavorの複製を返します。- オーバーライド:
- clone、クラス:- Object
- 戻り値:
- このDataFlavorの複製
- 例外:
- CloneNotSupportedException- オブジェクトのクラスが- Cloneableインタフェースをサポートしていない場合。- cloneメソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。
- 関連項目:
- Cloneable
 
- 
normalizeMimeTypeParameter@Deprecatedprotected String normalizeMimeTypeParameter(String parameterName, String parameterValue)Deprecated.1.1以降では、このメソッドがこの実装によって呼び出されることはありませんDataFlavorサブクラスが、値の大文字と小文字を区別しないtext/plainのcharsetパラメータなどの特殊なパラメータを取り扱えるようにするために、各MIMEタイプ・パラメータのDataFlavorに対して呼び出されます。 (MIMEタイプのパラメータ値は大文字と小文字を区別することになっています。)このメソッドはパラメータ名とパラメータ値のペアごとに呼び出され、 parameterValueの正規化された表現を返さなければいけません。- パラメータ:
- parameterName- パラメータ名
- parameterValue- パラメータ値
- 戻り値:
- パラメータ値
 
- 
normalizeMimeType@Deprecatedprotected String normalizeMimeType(String mimeType)Deprecated.1.1以降では、このメソッドがこの実装によって呼び出されることはありませんDataFlavorサブタイプにMIMEタイプの正規化の実現方法を変更する機会を与えるために、MIMEタイプ文字列ごとに呼び出されます。 渡されたMIMEタイプの文字列にパラメータ/値のペアが存在しない場合のために、デフォルトのパラメータ/値のペアを追加するために使用することもできます。- パラメータ:
- mimeType- MIME型
- 戻り値:
- MIMEタイプ
 
 
-