JavaTM Platform
Standard Ed. 6

java.awt.datatransfer
クラス DataFlavor

java.lang.Object
  上位を拡張 java.awt.datatransfer.DataFlavor
すべての実装されたインタフェース:
Externalizable, Serializable, Cloneable
直系の既知のサブクラス:
ActivationDataFlavor

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 のコンストラクタについては、該当するドキュメントを参照してください。  

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

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

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 Tutorial」の「How to Use Drag and Drop and Data Transfer」を参照してください。

関連項目:
直列化された形式

フィールドの概要
static DataFlavor imageFlavor
          Java Image クラスを表現する DataFlavor です。
static DataFlavor javaFileListFlavor
          Java (および基本となるプラットフォーム) 同士でファイルのリストを転送するには、この型またはサブタイプの DataFlavor と、表現クラス java.util.List が使用されます。
static String javaJVMLocalObjectMimeType
          同一の JVM の内部で Transferable インタフェースを介して、MIME タイプが関連していない任意の Java オブジェクト参照の参照を転送するには、この型 (またはサブタイプ) の DataFlavorTransferble を介して渡されたクラス (またはインタフェース) の型と同じ representationClass が使用されます。
static String javaRemoteObjectMimeType
          リモートオブジェクトに、ドラッグ&ドロップによる ACTION_LINK オペレーションを介して有効なリンクを渡すには、MIME タイプに application/x-java-remote-object を使うようにしてください。
static String javaSerializedObjectMimeType
          application/x-java-serialized-object という MIME タイプは、永続化された Java オブジェクト (複数可) のグラフを表します。
static DataFlavor plainTextFlavor
          推奨されていません。 Version 1.3 では、Transferable.getTransferData(DataFlavor.plainTextFlavor) ではなく、 DataFlavor.getReaderForText(Transferable) を使用してください。
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)
          ある DataFlavor とこの DataFlavor が等しいかどうかを判定します。
 boolean equals(Object o)
          任意の Object とこの DataFlavor が等しいかどうかを判定します。
 boolean equals(String s)
          推奨されていません。 hashCode() 規約と一貫性がないため、 代わりに isMimeTypeEqual(String) を使用してください。
 Class<?> getDefaultRepresentationClass()
           
 String getDefaultRepresentationClassAsString()
           
 String getHumanPresentableName()
          この DataFlavor が表すデータ形式に対する、判読できる名前を返します。
 String getMimeType()
          この DataFlavor の MIME タイプの文字列を返します。
 String getParameter(String paramName)
          paramName が判読できる名前である場合は、この 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)
          ある DataFlavor とこの DataFlavor が等しいかどうかを判定します。
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 を直列化します。
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

stringFlavor

public static final DataFlavor stringFlavor
Java Unicode String クラスを表現する DataFlavor です。
representationClass = java.lang.String
mimeType            = "application/x-java-serialized-object"        
 


imageFlavor

public static final DataFlavor imageFlavor
Java Image クラスを表現する DataFlavor です。
representationClass = java.awt.Image
mimeType            = "image/x-java-image"
 


plainTextFlavor

@Deprecated
public static final DataFlavor plainTextFlavor
推奨されていません。 Version 1.3 では、Transferable.getTransferData(DataFlavor.plainTextFlavor) ではなく、 DataFlavor.getReaderForText(Transferable) を使用してください。
Unicode エンコーディングでプレーンテキストを表現する DataFlavor です。
representationClass = InputStream
mimeType            = "text/plain; charset=unicode"
 
DataFlavor は次の理由により推奨できません。 (1) その表現が InputStream、8 ビット形式であるのに対し、Unicode は 16 ビット文字セットである。(2) charset「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 型であることが要求 (Java への転送の場合) または保証 (Java からの転送の場合) されます。


javaJVMLocalObjectMimeType

public static final String javaJVMLocalObjectMimeType
同一の JVM の内部で Transferable インタフェースを介して、MIME タイプが関連していない任意の Java オブジェクト参照の参照を転送するには、この型 (またはサブタイプ) の DataFlavorTransferble を介して渡されたクラス (またはインタフェース) の型と同じ representationClass が使用されます。  

この MIME タイプの DataFlavor に対して Transferable.getTransferData から返されたオブジェクト参照は、DataFlavor の表現クラスのインスタンスでなければなりません。

関連項目:
定数フィールド値

javaRemoteObjectMimeType

public static final String javaRemoteObjectMimeType
リモートオブジェクトに、ドラッグ&ドロップによる ACTION_LINK オペレーションを介して有効なリンクを渡すには、MIME タイプに application/x-java-remote-object を使うようにしてください。このとき、DataFlavor の表現クラスは、転送される Remote インタフェースの型を表します。

関連項目:
定数フィールド値
コンストラクタの詳細

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 - representationClass が null の場合

DataFlavor

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

次のような性質を持つ DataFlavor が返されます。  

mimeType が application/x-java-serialized-object; class=<表現クラス> の場合、次の呼び出しと同じ結果になります。new DataFlavor(Class:forName(<表現クラス>)  

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

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 ClassNotFoundException
MimeType を表現する DataFlavor を構築します。  

次のような性質を持つ DataFlavor が返されます。  

mimeType が application/x-java-serialized-object; class=<表現クラス> の場合、次の呼び出しと同じ結果になります。new DataFlavor(Class:forName(<表現クラス>)  

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

representationClass = InputStream
mimeType = mimeType         
 

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

DataFlavor

public DataFlavor(String mimeType)
           throws ClassNotFoundException
mimeType の文字列から DataFlavor を構築します。文字列は class= パラメータを指定し、指定した表現クラスで 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 を参照してください。

オーバーライド:
クラス Object 内の toString
戻り値:
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>"
 
Microsoft Windows の Sun の実装では utf-16le エンコーディングを使用します。Solaris と Linux の Sun の実装では、iso-10646-ucs-2 エンコーディングを使用します。

戻り値:
Unicode エンコーディングで プレーンテキストを表現する DataFlavor
導入されたバージョン:
1.3

selectBestTextFlavor

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

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

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

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

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

文字セットパラメータをサポートしていない、またはサポートしていないかのように扱われる MIME タイプは次のとおりです。 text/<その他> の MIME タイプの場合は、JRE が最初にその MIME タイプが文字セットパラメータをサポートしているかどうかを判定する必要があるときに、その MIME タイプを使用する任意に選択された DataFlavor でパラメータが明示的にリストされているかどうかを確認します。その場合、JRE はその時点から、MIME タイプが文字セットパラメータをサポートしていると仮定し、再度確認することはありません。パラメータが明示的にリストされていない場合、JRE はその時点から、MIME タイプが文字セットパラメータをサポートしていないと仮定し、再度確認することはありません。この確認は任意に選択された DataFlavor で実行されるため、開発者は、文字セットパラメータが MIME タイプ text/<その他> でサポートされている場合、その MIME タイプを持つすべての DataFlavor で文字セットパラメータを指定しなければなりません。開発者は、JRE に頼って、プラットフォームのデフォルト文字セットを text/<その他> の DataFlavor の代用として使うべきではありません。この制限に従わない場合、定義されていない動作が発生します。  

配列内で最適な 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 などの Unicord 文字セットとそのエイリアスが最適であるとみなされます。その後、プラットフォームのデフォルト文字セットとそのエイリアスが選択されます。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 - Transferable のデータが null の場合
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 が判読できる名前である場合は、この DataFlavor の判読できる名前を返します。そうでない場合は、paramName に関連付けられた MIME タイプの値を返します。

パラメータ:
paramName - 要求されたパラメータ名
戻り値:
名前パラメータの値。 関連付けられた値がない場合は null

setHumanPresentableName

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

パラメータ:
humanPresentableName - 新しい判読できる名前

equals

public boolean equals(Object o)
任意の Object とこの DataFlavor が等しいかどうかを判定します。2 つの DataFlavor の MIME プライマリタイプとサブタイプと表現クラスが同じ場合は、その DataFlavor は等しいとみなされます。さらに、プライマリタイプが「テキスト」で、サブタイプが文字セットパラメータをサポートするテキストフレーバを表し、表現クラスが java.io.Readerjava.lang.Stringjava.nio.CharBuffer[C のいずれでもない場合は、charset パラメータも等しいことになります。どちらか一方、または両方の DataFlavor で文字セットが明示的に指定されていない場合は、プラットフォームのデフォルトエンコーディングが仮定されます。文字セットパラメータをサポートするテキストフレーバのリストについては、selectBestTextFlavor を参照してください。

オーバーライド:
クラス Object 内の equals
パラメータ:
o - this と比較する Object
戻り値:
that がこの DataFlavor と等しい場合は true、 そうでない場合は false
関連項目:
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])

equals

public boolean equals(DataFlavor that)
ある DataFlavor とこの DataFlavor が等しいかどうかを判定します。2 つの DataFlavor の MIME プライマリタイプとサブタイプと表現クラスが同じ場合は、その DataFlavor は等しいとみなされます。さらに、プライマリタイプが「テキスト」で、サブタイプが文字セットパラメータをサポートするテキストフレーバを表し、表現クラスが java.io.Readerjava.lang.Stringjava.nio.CharBuffer[C のいずれでもない場合は、charset パラメータも等しいことになります。どちらか一方、または両方の DataFlavor で文字セットが明示的に指定されていない場合は、プラットフォームのデフォルトエンコーディングが仮定されます。文字セットパラメータをサポートするテキストフレーバのリストについては、selectBestTextFlavor を参照してください。

パラメータ:
that - this と比較する DataFlavor
戻り値:
that がこの DataFlavor と等しい場合は true、 そうでない場合は false
関連項目:
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])

equals

@Deprecated
public boolean equals(String s)
推奨されていません。 hashCode() 規約と一貫性がないため、 代わりに isMimeTypeEqual(String) を使用してください。

mimeTypeString で渡されたものとだけ比較します。representationClass は比較されません。representationClass を比較する必要がある場合は、equals(new DataFlavor(s)) を使用できます。

戻り値:
MIME タイプを表す文字列が等しい場合は true

hashCode

public int hashCode()
この DataFlavor に使うハッシュコードを返します。2 つの DataFlavor が等しいときは、ハッシュコードも等しくなります。DataFlavor.equals(String) と一致する String の場合は、DataFlavor のハッシュコードが String のハッシュコードと同じかどうかは保証できません。

オーバーライド:
クラス Object 内の hashCode
戻り値:
DataFlavor のハッシュコード
関連項目:
Object.equals(java.lang.Object), Hashtable

match

public boolean match(DataFlavor that)
ある DataFlavor とこの DataFlavor が等しいかどうかを判定します。2 つの DataFlavor の MIME プライマリタイプとサブタイプと表現クラスが同じ場合は、その DataFlavor は等しいとみなされます。さらに、プライマリタイプが「テキスト」で、サブタイプが文字セットパラメータをサポートするテキストフレーバを表し、表現クラスが java.io.Readerjava.lang.Stringjava.nio.CharBuffer[C のいずれでもない場合は、charset パラメータも等しいことになります。どちらか一方、または両方の DataFlavor で文字セットが明示的に指定されていない場合は、プラットフォームのデフォルトエンコーディングが仮定されます。文字セットパラメータをサポートするテキストフレーバのリストについては、selectBestTextFlavor を参照してください。

パラメータ:
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 タイプの文字列表現
戻り値:
渡された MIME タイプの文字列表現がこの DataFlavor の MIME タイプと同じ場合は true、そうでない場合は 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 を表すかどうかを判定します。


isRepresentationClassReader

public boolean isRepresentationClassReader()
この DataFlavor の表現クラスが java.io.Reader かそのサブクラスであるかどうかを返します。

導入されたバージョン:
1.4

isRepresentationClassCharBuffer

public boolean isRepresentationClassCharBuffer()
この DataFlavor の表現クラスが java.nio.CharBuffer かそのサブクラスであるかどうかを返します。

導入されたバージョン:
1.4

isRepresentationClassByteBuffer

public boolean isRepresentationClassByteBuffer()
この DataFlavor の表現クラスが java.nio.ByteBuffer かそのサブクラスであるかどうかを返します。

導入されたバージョン:
1.4

isRepresentationClassSerializable

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

戻り値:
表現クラスを直列化できる場合は true

isRepresentationClassRemote

public boolean isRepresentationClassRemote()
表現クラスが Remote の場合は true を返します。

戻り値:
表現クラスが Remote の場合は true

isFlavorSerializedObjectType

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

戻り値:
指定された DataFlavor が直列化されたオブジェクトを表す場合は true

isFlavorRemoteObjectType

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

戻り値:
指定された DataFlavor がリモートオブジェクトを表す場合は true

isFlavorJavaFileListType

public boolean isFlavorJavaFileListType()
指定された DataFlavor がファイルオブジェクトのリストを表す場合は true を返します。

戻り値:
指定された DataFlavor がファイルオブジェクトのリストを表す場合は true

isFlavorTextType

public boolean isFlavorTextType()
この DataFlavor が Java プラットフォームのこの実装に対して有効なテキストフレーバであるかどうかを返します。DataFlavor.stringFlavor と同等のフレーバと、プライマリ 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 を直列化します。

定義:
インタフェース Externalizable 内の writeExternal
パラメータ:
os - オブジェクトを書き込むストリーム
例外:
IOException - 発生する可能性があるすべての入出力例外

readExternal

public void readExternal(ObjectInput is)
                  throws IOException,
                         ClassNotFoundException
直列化された状態の DataFlavor を復元します。

定義:
インタフェース Externalizable 内の readExternal
パラメータ:
is - オブジェクトを復元するためのデータ読み取り元のストリーム
例外:
IOException - 入出力エラーが発生した場合
ClassNotFoundException - 復元しようとしているオブジェクトに 対応するクラスが見つからない場合

clone

public Object clone()
             throws CloneNotSupportedException
この DataFlavor の複製を返します。

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

normalizeMimeTypeParameter

@Deprecated
protected String normalizeMimeTypeParameter(String parameterName,
                                                       String parameterValue)
推奨されていません。 

DataFlavor サブクラスが、大文字と小文字を区別しない text/plain の charset パラメータなど、特殊なパラメータを取り扱えるようにするために、各 MIME タイプパラメータの DataFlavor に対して呼び出されます (MIME タイプのパラメータ値は大文字と小文字を区別することになっている)。  

このメソッドは各パラメータ名とパラメータ値のペアに対して呼び出され、parameterValue の正規化された表現を返さなければなりません。 1.1 以降では、このメソッドがこの実装によって呼び出されることはありません。


normalizeMimeType

@Deprecated
protected String normalizeMimeType(String mimeType)
推奨されていません。 

DataFlavor サブタイプに、MIME タイプの正規化達成方法を変更する機会を与えるために、各 MIME タイプ文字列に対して呼び出されます。MIME タイプの文字列を渡すものがない場合に、デフォルトのパラメータ/値のペアを追加するために使用することもあります。 1.1 以降では、このメソッドがこの実装によって呼び出されることはありません。


JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。