- すべての実装されたインタフェース:
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 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
を構築します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 Object
clone()
このDataFlavor
の複製を返します。boolean
equals(DataFlavor that)
このメソッドの動作は、equals(Object)
と同じです。boolean
equals(Object o)
このオブジェクトと他のオブジェクトが等しいかどうかを示します。boolean
equals(String s)
非推奨。hashCode()
契約と矛盾するので、代わりにisMimeTypeEqual(String)
を使用してください。Class<?>
getDefaultRepresentationClass()
デフォルトの表現クラスを返します。String
getDefaultRepresentationClassAsString()
デフォルトの表現クラスの名前を返します。String
getHumanPresentableName()
このDataFlavor
が表すデータ形式の判読できる名前を返します。String
getMimeType()
このDataFlavor
のMIMEタイプの文字列を返します。String
getParameter(String paramName)
paramName
が「humanPresentableName」に等しい場合は、このDataFlavor
の判読できる名前を返します。String
getPrimaryType()
このDataFlavor
のプライマリMIMEタイプを返します。Reader
getReaderForText(Transferable transferable)
必要に応じて、予想される文字セット(エンコード)をデコードしたテキスト・フレーバのReaderを取得します。Class<?>
getRepresentationClass()
このDataFlavor
が要求されたときに、このDataFlavor
をサポートしているオブジェクトが返すClass
を返します。String
getSubType()
このDataFlavor
のサブMIMEタイプを返します。static DataFlavor
getTextPlainUnicodeFlavor()
Unicodeエンコーディングでプレーン・テキストを表すDataFlavor
を返します。ここでは、次のようになります。int
hashCode()
このDataFlavor
のハッシュ・コードを返します。boolean
isFlavorJavaFileListType()
指定されたDataFlavor
がファイル・オブジェクトのリストを表す場合、true
を返します。boolean
isFlavorRemoteObjectType()
指定されたDataFlavor
がリモート・オブジェクトを表す場合は、true
を返します。boolean
isFlavorSerializedObjectType()
指定されたDataFlavor
が直列化されたオブジェクトを表す場合、true
を返します。boolean
isFlavorTextType()
このDataFlavor
がJavaプラットフォームのこの実装のための有効なテキスト・フレーバであるかどうかを返します。boolean
isMimeTypeEqual(DataFlavor dataFlavor)
2つのDataFlavor
オブジェクトのmimeType
を比較します。boolean
isMimeTypeEqual(String mimeType)
渡されたMIMEタイプの文字列表現がこのDataFlavor
のMIMEタイプと同等であるかどうかを返します。boolean
isMimeTypeSerializedObject()
DataFlavor
が直列化オブジェクトを表すかどうか。boolean
isRepresentationClassByteBuffer()
このDataFlavor
の表現クラスがjava.nio.ByteBuffer
か、またはそのサブクラスのどちらであるかを返します。boolean
isRepresentationClassCharBuffer()
このDataFlavor
の表現クラスがjava.nio.CharBuffer
か、またはそのサブクラスのどちらであるかを返します。boolean
isRepresentationClassInputStream()
DataFlavor
がjava.io.InputStream
を表すかどうか。boolean
isRepresentationClassReader()
このDataFlavor
の表現クラスがjava.io.Reader
か、またはそのサブクラスのどちらであるかを返します。boolean
isRepresentationClassRemote()
表現クラスがRemote
の場合、true
を返します。boolean
isRepresentationClassSerializable()
表現クラスを直列化できる場合はtrue
を返します。boolean
match(DataFlavor that)
protected String
normalizeMimeType(String mimeType)
非推奨。1.1以降では、このメソッドがこの実装によって呼び出されることはありませんprotected String
normalizeMimeTypeParameter(String parameterName, String parameterValue)
非推奨。1.1以降では、このメソッドがこの実装によって呼び出されることはありませんvoid
readExternal(ObjectInput is)
このDataFlavor
を直列化された状態から復元します。static DataFlavor
selectBestTextFlavor(DataFlavor[] availableFlavors)
DataFlavor
の配列から最適なテキストDataFlavor
を選択します。void
setHumanPresentableName(String humanPresentableName)
このDataFlavor
が表すデータ形式の判読できる名前を設定します。String
toString()
このDataFlavor
とそのパラメータの文字列表現。protected static Class<?>
tryToLoadClass(String className, ClassLoader fallback)
ブートストラップ・ローダー、システム・ローダー、コンテキスト・ローダー(存在する場合)、指定されたローダーの順番でクラスのロードを試みます。void
writeExternal(ObjectOutput os)
このDataFlavor
を直列化します。
-
フィールド詳細
-
stringFlavor
public static final DataFlavor stringFlavorJava Unicode Stringクラスを表すDataFlavor
。ここでは、次のようになります。representationClass = java.lang.String mimeType = "application/x-java-serialized-object"
-
imageFlavor
public 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 plainTextFlavor非推奨。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実装を意味
-
javaSerializedObjectMimeType
public static final String javaSerializedObjectMimeTypeapplication/x-java-serialized-objectというMIMEタイプは、永続化されたJavaオブジェクト(複数可)のグラフを表します。この
DataFlavor
に関連付けられた表現クラスによって、java.awt.datatransfer.getTransferData
の呼び出しからの参照として返されたオブジェクトのJava型が識別されます。- 関連項目:
- 定数フィールド値
-
javaFileListFlavor
public static final DataFlavor javaFileListFlavorJava (および基本となるプラットフォーム)との間でファイルのリストを転送するには、このタイプ/サブタイプのDataFlavor
と、java.util.List
の表現クラスが使用されます。 リストの各要素はjava.io.File
型であることが要求されるか、または保証されます。 -
javaJVMLocalObjectMimeType
public static final String javaJVMLocalObjectMimeTypeMIMEコンテンツ・タイプが関連付けられていない任意の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 selectionHtmlFlavor1つのHTMLマークアップを表します。 このマークアップは、ソース側で選択された部分で構成されます。 したがって、マークアップの一部のタグには、対応するタグがない場合があります。 フレーバを使用してTransferable
インスタンス内のデータが表されている場合、追加の変更は行われません。 このDataFlavorインスタンスは、コンテンツのMIMEタイプにドキュメント・パラメータが含まれておらず、表現クラスがStringクラスであるDataFlavorインスタンスと同じHTMLマークアップを表しています。representationClass = String mimeType = "text/html"
- 導入されたバージョン:
- 1.8
-
fragmentHtmlFlavor
public static DataFlavor fragmentHtmlFlavor1つのHTMLマークアップを表します。 可能な場合は、ネイティブ・システムから受け取ったマークアップが補足され、ペア・タグが整形式のHTMLマークアップになります。 フレーバを使用してTransferable
インスタンス内のデータが表されている場合、追加の変更は行われません。representationClass = String mimeType = "text/html"
- 導入されたバージョン:
- 1.8
-
allHtmlFlavor
public static DataFlavor allHtmlFlavor1つのHTMLマークアップを表します。 可能な場合は、ネイティブ・システムから受け取ったマークアップが補足され、追加のタグによって整形式のHTMLドキュメントが作成されます。 フレーバを使用してTransferable
インスタンス内のデータが表されている場合、追加の変更は行われません。representationClass = String mimeType = "text/html"
- 導入されたバージョン:
- 1.8
-
-
コンストラクタの詳細
-
DataFlavor
public DataFlavor()新しいDataFlavor
を構築します。 このコンストラクタは、Externalizable
インタフェースをサポートする目的のためにのみ提供されます。 public (クライアント)使用を目的とはしていません。- 導入されたバージョン:
- 1.2
-
DataFlavor
Javaクラスを表すDataFlavor
を構築します。返された
DataFlavor
には次の特性があります。representationClass = representationClass mimeType = application/x-java-serialized-object
- パラメータ:
representationClass
- このフレーバでデータを転送するために使用されるクラスhumanPresentableName
- この風味を識別するために人間が読める文字列; このパラメータがnull
の場合は、MIMEコンテンツ型の値が使用されます- 例外:
NullPointerException
-representationClass
がnull
の場合
-
DataFlavor
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
-mimeType
がnull
の場合
-
DataFlavor
public 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
の場合
-
DataFlavor
public 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
の場合
-
-
メソッドの詳細
-
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.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
-
getReaderForText
public 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[])
-
getMimeType
public String getMimeType()このDataFlavor
のMIMEタイプの文字列を返します。- 戻り値:
- このフレーバのMIMEタイプの文字列
-
getRepresentationClass
public クラス<?> 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
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以外の参照値
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以外の参照値
-
equals
public 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)非推奨。hashCode()
契約と矛盾するので、代わりにisMimeTypeEqual(String)
を使用してください。mimeType
のみを渡されたString
と比較します。representationClass
は比較で考慮されません。representationClass
を比較する必要がある場合は、equals(new DataFlavor(s))
を使用できます。- パラメータ:
s
- 比較するmimeType
- 戻り値:
- String (MimeType)が等しい場合は
true
; それ以外の場合、またはs
がnull
の場合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)
-
match
public boolean match(DataFlavor that)- パラメータ:
that
-this
と比較するDataFlavor
- 戻り値:
that
がこのDataFlavor
と同等である場合はtrue
、そうでない場合はfalse
- 導入されたバージョン:
- 1.3
- 関連項目:
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
-
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()DataFlavor
がjava.io.InputStream
を表すかどうか。- 戻り値:
- この
DataFlavor
がjava.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
を返します。- 戻り値:
- 指定された
DataFlavor
がjava.io.File
オブジェクトのjava.util.List
を表す場合、true
-
isFlavorTextType
public 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[])
-
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
メソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある。- 関連項目:
Cloneable
-
normalizeMimeTypeParameter
@Deprecatedprotected String normalizeMimeTypeParameter(String parameterName, String parameterValue)非推奨。1.1以降では、このメソッドがこの実装によって呼び出されることはありませんDataFlavor
サブクラスが、値の大文字と小文字を区別しないtext/plainのcharset
パラメータなどの特殊なパラメータを取り扱えるようにするために、各MIMEタイプ・パラメータのDataFlavor
に対して呼び出されます。 (MIMEタイプのパラメータ値は大文字と小文字を区別することになっています。)このメソッドはパラメータ名とパラメータ値のペアごとに呼び出され、
parameterValue
の正規化された表現を返さなければいけません。- パラメータ:
parameterName
- パラメータ名parameterValue
- パラメータ値- 戻り値:
- パラメータ値
-
normalizeMimeType
@Deprecatedprotected String normalizeMimeType(String mimeType)非推奨。1.1以降では、このメソッドがこの実装によって呼び出されることはありませんDataFlavor
サブタイプにMIMEタイプの正規化の実現方法を変更する機会を与えるために、MIMEタイプ文字列ごとに呼び出されます。 渡されたMIMEタイプの文字列にパラメータ/値のペアが存在しない場合のために、デフォルトのパラメータ/値のペアを追加するために使用することもできます。- パラメータ:
mimeType
- MIME型- 戻り値:
- MIMEタイプ
-