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
、クラス: Object
DataFlavor
の文字列表現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
エンコーディングを使用します。DataFlavor
public 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などのUnicord文字セットとそのエイリアスが最適であるとみなされます。その後、プラットフォームのデフォルト文字セットとそのエイリアスが選択されます。US-ASCIIとそのエイリアスはもっとも不適です。その他の文字セットはアルファベット順に選択されます。ただし、Javaプラットフォームの実装でサポートされている文字セットに限られます。
2つ以上のフレーバが最適な文字セットを共有している場合、フレーバは再度、その表現クラスによってjava.io.InputStream
、java.nio.ByteBuffer
、[B
、<残りすべて>の順にソートされます。
2つ以上のフレーバで最適な表現クラスを共有している場合、または指定された3つの表現のいずれかを持つフレーバがない場合は、それらのフレーバのいずれか1つが無作為に選択されます。
availableFlavors
- 使用可能なDataFlavor
の配列availableFlavors
がnull
か、長さがゼロか、またはテキスト・フレーバを含まない場合はnull
public 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
- このフレーバでデータが要求されるTransferable
Transferable
のデータを読み込むためのReader
IllegalArgumentException
- 表現クラスが上記の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
をサポートしているオブジェクトが返すClass
public 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
- 要求されたパラメータ名null
public 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
、クラス: Object
o
- this
と比較するObject
that
がこのDataFlavor
と同等である場合はtrue
、そうでない場合はfalse
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
public boolean equals(DataFlavor that)
equals(Object)
と同じです。異なる点は、パラメータとしてDataFlavor
インスタンスを取ることだけです。that
- this
と比較するDataFlavor
that
がこのDataFlavor
と同等である場合はtrue
、そうでない場合はfalse
selectBestTextFlavor(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
、クラス: Object
DataFlavor
のハッシュ・コードObject.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean match(DataFlavor that)
that
- this
と比較するDataFlavor
that
がこのDataFlavor
と同等である場合はtrue
、そうでない場合はfalse
selectBestTextFlavor(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
- 比較対象のDataFlavor
MimeType
が等しい場合は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
。そうでない場合はfalse
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])
public void writeExternal(ObjectOutput os) throws IOException
DataFlavor
を直列化します。writeExternal
、インタフェース: Externalizable
os
- オブジェクトを書き込むストリームIOException
- 発生する可能性のあるすべての入出力例外を含むpublic void readExternal(ObjectInput is) throws IOException, ClassNotFoundException
DataFlavor
を直列化された状態から復元します。readExternal
、インタフェース: Externalizable
is
- オブジェクトを復元するためのデータ読込み元のストリームIOException
- 入出力エラーが発生した場合ClassNotFoundException
- 復元されているオブジェクトのクラスが見つからない場合。public Object clone() throws CloneNotSupportedException
DataFlavor
の複製を返します。clone
、クラス: Object
DataFlavor
の複製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, 2014, Oracle and/or its affiliates. All rights reserved.