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 Tutorial」の「How to Use Drag and Drop and Data Transfer」セクションを参照してください。
| 修飾子と型 | フィールド | 説明 |
|---|---|---|
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以降。
Transferable.getTransferData(DataFlavor.plainTextFlavor)の代わりにDataFlavor.getReaderForText(Transferable)を使用します。 |
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) |
非推奨。
|
protected String |
normalizeMimeTypeParameter(String parameterName, String parameterValue) |
非推奨。
|
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を直列化します。 |
public static final DataFlavor stringFlavor
DataFlavor。ここでは、次のようになります。
representationClass = java.lang.String
mimeType = "application/x-java-serialized-object"
public static final DataFlavor imageFlavor
DataFlavor。ここでは、次のようになります。
representationClass = java.awt.Image
mimeType = "image/x-java-image"
@Deprecated public static final DataFlavor plainTextFlavor
Transferable.getTransferData(DataFlavor.plainTextFlavor)の代わりにDataFlavor.getReaderForText(Transferable)を使用します。 DataFlavor。
representationClass = InputStream
mimeType = "text/plain; charset=unicode"
このDataFlavorは、次の理由により非推奨になりました。(1)その表現がInputStream、8ビット形式であるのに対し、Unicodeは16ビット文字セットである。(2) charset「unicode」は明確になっていない。「unicode」は共通プラットフォームの実装ではなくUnicodeの特定のプラットフォームの実装を意味している。public static final String javaSerializedObjectMimeType
DataFlavorに関連付けられた表現クラスによって、java.awt.datatransfer.getTransferDataの呼び出しからの参照として返されたオブジェクトのJava型が識別されます。 public static final DataFlavor javaFileListFlavor
DataFlavorと、java.util.Listの表現クラスが使用されます。 リストの各要素はjava.io.File型であることが要求されるか、または保証されます。 public static final String javaJVMLocalObjectMimeType
Transferableインタフェース経由で転送するには、このタイプ/サブタイプのDataFlavorが、Transferable経由で渡されるクラス/インタフェースのタイプに等しいrepresentationClassとともに使用されます。
このMIMEコンテンツ・タイプのDataFlavorに対してTransferable.getTransferDataから返されたオブジェクト参照は、DataFlavorの表現クラスのインスタンスである必要があります。
public static final String javaRemoteObjectMimeType
ACTION_LINK操作によってリモート・オブジェクトに渡すには、application/x-java-remote-objectのMIMEコンテンツ・タイプを使用するようにしてください。ここで、DataFlavorの表現クラスは、転送されるRemoteインタフェースのタイプを表します。public static DataFlavor selectionHtmlFlavor
Transferableインスタンス内のデータが表されている場合、追加の変更は行われません。 このDataFlavorインスタンスは、コンテンツのMIMEタイプにドキュメント・パラメータが含まれておらず、表現クラスがStringクラスであるDataFlavorインスタンスと同じHTMLマークアップを表しています。
representationClass = String
mimeType = "text/html"
public static DataFlavor fragmentHtmlFlavor
Transferableインスタンス内のデータが表されている場合、追加の変更は行われません。
representationClass = String
mimeType = "text/html"
public static DataFlavor allHtmlFlavor
Transferableインスタンス内のデータが表されている場合、追加の変更は行われません。
representationClass = String
mimeType = "text/html"
public DataFlavor()
DataFlavorを構築します。 このコンストラクタは、Externalizableインタフェースをサポートする目的のためにのみ提供されます。 public (クライアント)使用を目的とはしていません。 public DataFlavor(Class<?> representationClass, String humanPresentableName)
DataFlavorを構築します。
返されたDataFlavorには次の特性があります。
representationClass = representationClass
mimeType = application/x-java-serialized-object
representationClass - このフレーバでデータを転送するために使用されるクラスhumanPresentableName - このフレーバを識別するために使用される、人間が読める形式の文字列。このパラメータがnullである場合は、MIMEコンテンツ・タイプの値が使用されます。NullPointerException - representationClassがnullの場合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 - mimeTypeがnullの場合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 - mimeTypeがnullの場合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 - mimeTypeがnullの場合protected static final Class<?> tryToLoadClass(String className, ClassLoader fallback) throws ClassNotFoundException
className - ロードされるクラスの名前fallback - 代替用ローダーClassNotFoundException - クラスが見つからない場合public String toString()
DataFlavorとそのパラメータの文字列表現。 結果として得られるStringには、DataFlavorクラスの名前、このフレーバのMIMEタイプ、およびその表現クラスが含まれます。 このフレーバに「テキスト」のプライマリMIMEタイプがあり、文字セット・パラメータをサポートしていて、符号化された表現がある場合には、フレーバの文字セットも含まれます。 文字セット・パラメータをサポートするテキスト・フレーバのリストについては、selectBestTextFlavorを参照してください。 toString、クラスObjectDataFlavorの文字列表現selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])public static final DataFlavor getTextPlainUnicodeFlavor()
DataFlavorを返します。ここでは、次のようになります。
representationClass = java.io.InputStream
mimeType = "text/plain;
charset=<platform default Unicode encoding>"
Microsoft Windows向けのSunの実装では、utf-16leエンコーディングを使用します。 SolarisおよびLinux向けのSunの実装では、iso-10646-ucs-2エンコーディングを使用します。 DataFlavorpublic static final DataFlavor selectBestTextFlavor(DataFlavor[] availableFlavors)
DataFlavorの配列から最適なテキストDataFlavorを選択します。 選択肢として見なされるのは、DataFlavor.stringFlavor、同等のフレーバ、および「text」のプライマリMIMEタイプを持つフレーバだけです。
最初に、フレーバはMIMEタイプで次の順にソートされます。
たとえば、「text/sgml」は「text/html」より先に選択され、DataFlavor.stringFlavorはDataFlavor.plainTextFlavorより先に選択されます。
配列で2つ以上のフレーバが最適なMIMEタイプを共有している場合は、そのMIMEタイプが文字セット・パラメータをサポートしているかどうか確認されます。
文字セット・パラメータをサポートしている、またはサポートしているかのように扱われるMIMEタイプは次のとおりです。
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か、長さがゼロか、またはテキスト・フレーバを含まない場合はnullpublic Reader getReaderForText(Transferable transferable) throws UnsupportedFlavorException, IOException
java.io.Reader、java.lang.String、java.nio.CharBuffer、[C、java.io.InputStream、java.nio.ByteBuffer、および[Bです。
文字セット・パラメータをサポートしていないテキスト・フレーバは標準以外のフォーマットで符号化されるため、そのようなフレーバに対してこのメソッドを呼び出すべきではありません。 ただし、下位互換性を維持するために、そのようなフレーバでこのメソッドが呼び出された場合は、文字セット・パラメータをサポートしているかのようにフレーバを扱い、それに従ってデコードしようとします。 文字セット・パラメータをサポートしていないテキスト・フレーバのリストについては、selectBestTextFlavorを参照してください。
transferable - このフレーバでデータが要求されるTransferableTransferableのデータを読み込むためのReaderIllegalArgumentException - 表現クラスが上記の7つのリストにない場合IllegalArgumentException - Transferableにnullデータが含まれている場合NullPointerException - Transferableがnullである場合UnsupportedEncodingException - このフレーバの表現がjava.io.InputStream、java.nio.ByteBuffer、または[Bであり、かつこのフレーバのエンコーディングがこのJavaプラットフォームの実装でサポートされていない場合UnsupportedFlavorException - Transferableがこのフレーバをサポートしていない場合IOException - 入出力エラーのためにデータを読み込めない場合selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])public String getMimeType()
DataFlavorのMIMEタイプの文字列を返します。public Class<?> getRepresentationClass()
DataFlavorが要求されたときに、このDataFlavorをサポートしているオブジェクトが返すClassを返します。DataFlavorが要求されたときに、このDataFlavorをサポートしているオブジェクトが返すClasspublic String getHumanPresentableName()
DataFlavorが表すデータ形式の判読できる名前を返します。 この名前は、それぞれの国に対応した名前になります。 DataFlavorが表すデータ形式の判読できる名前public String getPrimaryType()
DataFlavorのプライマリMIMEタイプを返します。DataFlavorのプライマリMIMEタイプpublic String getSubType()
DataFlavorのサブMIMEタイプを返します。DataFlavorのサブMIMEタイプpublic String getParameter(String paramName)
paramNameが「humanPresentableName」に等しい場合は、このDataFlavorの判読できる名前を返します。 そうでない場合は、paramNameに関連付けられたMIMEタイプの値を返します。 paramName - 要求されたパラメータ名nullpublic void setHumanPresentableName(String humanPresentableName)
DataFlavorが表すデータ形式の判読できる名前を設定します。 この名前は、それぞれの国に対応した名前になります。 humanPresentableName - 新しい判読できる名前public boolean equals(Object o)
equalsメソッドは、null以外のオブジェクト参照での同値関係を実装します。
xについて、x.equals(x)はtrueを返します。
xおよびyについて、y.equals(x)がtrueを返す場合に限り、x.equals(y)はtrueを返します。
x、y、およびzについて、x.equals(y)がtrueを返し、y.equals(z)がtrueを返す場合、x.equals(z)はtrueを返します。
xおよびyについて、x.equals(y)の複数の呼出しは、このオブジェクトに対するequalsによる比較で使われた情報が変更されていなければ、一貫してtrueを返すか、一貫してfalseを返します。
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、クラスObjecto - thisと比較するObjectthatがこのDataFlavorと同等である場合はtrue、そうでない場合はfalseselectBestTextFlavor(java.awt.datatransfer.DataFlavor[])public boolean equals(DataFlavor that)
equals(Object)と同じです。 異なる点は、パラメータとしてDataFlavorインスタンスを取ることだけです。 that - thisと比較するDataFlavorthatがこのDataFlavorと同等である場合はtrue、そうでない場合はfalseselectBestTextFlavor(java.awt.datatransfer.DataFlavor[])@Deprecated public boolean equals(String s)
hashCode()規約と矛盾するので、代わりにisMimeTypeEqual(String)を使用してください。 mimeTypeのみを渡されたStringと比較します。representationClassは比較で考慮されません。 representationClassを比較する必要がある場合は、equals(new DataFlavor(s))を使用できます。 s - 比較するmimeType。sがnullの場合はfalsepublic int hashCode()
DataFlavorのハッシュ・コードを返します。 2つのDataFlavorが等しい場合は、ハッシュ・コードも等しくなります。 DataFlavor.equals(String)に一致するStringの場合は、DataFlavorのハッシュ・コードがStringのハッシュ・コードに等しいことは保証されません。 hashCode、クラスObjectDataFlavorのハッシュ・コードObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public boolean match(DataFlavor that)
that - thisと比較するDataFlavorthatがこのDataFlavorと同等である場合はtrue、そうでない場合はfalseselectBestTextFlavor(java.awt.datatransfer.DataFlavor[])public boolean isMimeTypeEqual(String mimeType)
DataFlavorのMIMEタイプと同等であるかどうかを返します。 パラメータは比較の対象ではありません。 mimeType - MIMEタイプの文字列表現DataFlavorのMIMEタイプと同等である場合はtrue。そうでない場合はfalseNullPointerException - mimeTypeがnullの場合public final boolean isMimeTypeEqual(DataFlavor dataFlavor)
DataFlavorオブジェクトのmimeTypeを比較します。 パラメータは比較の対象ではありません。 dataFlavor - 比較対象のDataFlavorMimeTypeが等しい場合はtrue。そうでない場合はfalsepublic boolean isMimeTypeSerializedObject()
DataFlavorが直列化オブジェクトを表すかどうか。public final Class<?> getDefaultRepresentationClass()
public final String getDefaultRepresentationClassAsString()
public boolean isRepresentationClassInputStream()
DataFlavorがjava.io.InputStreamを表すかどうか。public boolean isRepresentationClassReader()
DataFlavorの表現クラスがjava.io.Readerか、またはそのサブクラスのどちらであるかを返します。public boolean isRepresentationClassCharBuffer()
DataFlavorの表現クラスがjava.nio.CharBufferか、またはそのサブクラスのどちらであるかを返します。public boolean isRepresentationClassByteBuffer()
DataFlavorの表現クラスがjava.nio.ByteBufferか、またはそのサブクラスのどちらであるかを返します。public boolean isRepresentationClassSerializable()
public boolean isRepresentationClassRemote()
Remoteである場合はtrueを返します。Remoteである場合はtruepublic boolean isFlavorSerializedObjectType()
DataFlavorが直列化オブジェクトを表す場合はtrueを返します。DataFlavorが直列化オブジェクトを表す場合はtruepublic boolean isFlavorRemoteObjectType()
DataFlavorがリモート・オブジェクトを表す場合はtrueを返します。DataFlavorがリモート・オブジェクトを表す場合はtruepublic boolean isFlavorJavaFileListType()
DataFlavorがファイル・オブジェクトのリストを表す場合はtrueを返します。DataFlavorがファイル・オブジェクトのリストを表す場合はtruepublic 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。そうでない場合はfalseselectBestTextFlavor(java.awt.datatransfer.DataFlavor[])public void writeExternal(ObjectOutput os) throws IOException
DataFlavorを直列化します。writeExternal、インタフェースExternalizableos - オブジェクトを書き込むストリームIOException - 発生する可能性のあるすべての入出力例外を含むpublic void readExternal(ObjectInput is) throws IOException, ClassNotFoundException
DataFlavorを直列化された状態から復元します。readExternal、インタフェースExternalizableis - オブジェクトを復元するためのデータ読込み元のストリームIOException - 入出力エラーが発生した場合ClassNotFoundException - 復元されているオブジェクトのクラスが見つからない場合。public Object clone() throws CloneNotSupportedException
DataFlavorの複製を返します。clone、クラスObjectDataFlavorの複製CloneNotSupportedException - オブジェクトのクラスがCloneableインタフェースをサポートしていない場合。 cloneメソッドをオーバーライドしたサブクラスも、インスタンスを複製できないことを示すためにこの例外をスローすることがある Cloneable@Deprecated protected String normalizeMimeTypeParameter(String parameterName, String parameterValue)
DataFlavorサブクラスが、値の大文字と小文字を区別しないtext/plainのcharsetパラメータなどの特殊なパラメータを取り扱えるようにするために、各MIMEタイプ・パラメータのDataFlavorに対して呼び出されます。 (MIMEタイプのパラメータ値は大文字と小文字を区別することになっています。)
このメソッドはパラメータ名とパラメータ値のペアごとに呼び出され、parameterValueの正規化された表現を返さなければいけません。 1.1以降では、このメソッドがこの実装によって呼び出されることはありません。
@Deprecated protected String normalizeMimeType(String mimeType)
DataFlavorサブタイプにMIMEタイプの正規化の実現方法を変更する機会を与えるために、MIMEタイプ文字列ごとに呼び出されます。 MIMEタイプの文字列を渡すものがない場合に、デフォルトのパラメータ/値のペアを追加するために使用することもあります。 1.1以降では、このメソッドがこの実装によって呼び出されることはありません。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。