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 2045RFC 2046 의 정의에 따라 컨텐츠 타입을 캡슐화합니다. 일반적으로, 컨텐츠 타입은 MIME 타입으로 불립니다.  

컨텐츠 타입은, 미디어 타입 (primary 타입으로 불린다), subtype, 및 생략 가능한 파라미터로 구성됩니다. MIME 타입의 구문의 자세한 것은,RFC 2045 를 참조해 주세요.  

JRE 데이터 전송 구현은, MIME 타입의 파라미터 "class" 를표현 클래스로서 해석합니다. 표현 클래스는, 전송 되는 객체의 클래스를 반영합니다. 즉, 표현 클래스란,Transferable.getTransferData(java.awt.datatransfer.DataFlavor) 로 반환되는 객체의 타입입니다. 예를 들어 imageFlavor 의 MIME 타입이 "image/x-java-image;class=java.awt.Image" 의 경우, primary 타입은 image, subtype은 x-java-image, 표현 클래스는 java.awt.Image 입니다. getTransferDataimageFlavorDataFlavor 로 불려 가면(자),java.awt.Image 의 인스턴스가 돌려주어집니다. 중요한 것은,DataFlavor 는 표현 클래스의 에러 체크를 실시하지 않는다고 하는 것입니다. 표현 클래스가 유효한가 어떤가는,DataFlavor 의 컨슈머(consumer) (Transferable 등)로 결정합니다.
DataFlavor 의 작성시에 표현 클래스를 지정하지 않는 경우는, 디폴트의 표현 클래스가 사용됩니다. DataFlavor 의 생성자 에 대해서는, 해당하는 문서를 참조해 주세요.  

또, primary MIME 타입이 "text" 인 DataFlavor 인스턴스는, "charset" 파라미터를 가질 수도 있습니다. "text" MIME 타입과 "charset" 파라미터의 자세한 것은,RFC 2046 으로 selectBestTextFlavor(java.awt.datatransfer.DataFlavor[]) 를 참조해 주세요.  

DataFlavor 끼리가 동일한지 어떤지는, primary 타입, subtype, 및 표현 클래스에 의해 정해집니다. 자세한 것은,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 는 동일하다라고 보입니다. 따라서, 어느 쪽의 DataFlavor 으로 Transferable 를 요구해도, 같은 결과가 돌려주어집니다.  

Swing 에 의한 데이터 전송의 사용의 상세한 것에 대하여는, 「Java Tutorial」의「How to Use Drag and Drop and Data Transfer」를 참조해 주세요.

관련 항목:
직렬화 된 형식

필드의 개요
static DataFlavor imageFlavor
          Java Image 클래스를 표현하는 DataFlavor 입니다.
static DataFlavor javaFileListFlavor
          Java ( 및 기본이 되는 플랫폼)끼리로 파일의 리스트를 전송 하려면 , 이 형태 또는 subtype의 DataFlavor 라고 표현 클래스 java.util.List 가 사용됩니다.
static String javaJVMLocalObjectMimeType
          동일한 JVM 의 내부에서 Transferable 인터페이스를 개입시켜, MIME 타입이 관련하고 있지 않는 임의의 Java 객체 참조의 참조를 전송 하려면 , 이 형태 (또는 subtype)의 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 의 primary MIME 타입을 돌려줍니다.
 Reader getReaderForText (Transferable  transferable)
          필요에 따라서, 예상되는 캐릭터 세트 (encode)를 디코드한 테키스트후레이바의 Reader 를 가져옵니다.
 Class <? > getRepresentationClass ()
          이 DataFlavor 가 요구되었을 때에, 이 DataFlavor 를 지원하고 있는 객체가 돌려주는 Class 를 돌려줍니다.
 String getSubType ()
          이 DataFlavor 의 MIME subtype을 돌려줍니다.
static DataFlavor getTextPlainUnicodeFlavor ()
          Unicode 인코딩으로 plaintext를 표현하는 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)
          bootstrap loader, 시스템 로더, 문맥 로더 (존재하는 경우), 지정된 로더의 차례로 클래스의 로드를 시도합니다.
 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 인코딩으로 plaintext를 표현하는 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 ( 및 기본이 되는 플랫폼)끼리로 파일의 리스트를 전송 하려면 , 이 형태 또는 subtype의 DataFlavor 라고 표현 클래스 java.util.List 가 사용됩니다. 리스트의 각 요소는,java.io.File 형인 것이 요구 (Java 에의 전송의 경우) 또는 보증 (Java 로부터의 전송의 경우)됩니다.


javaJVMLocalObjectMimeType

public static final String  javaJVMLocalObjectMimeType
동일한 JVM 의 내부에서 Transferable 인터페이스를 개입시켜, MIME 타입이 관련하고 있지 않는 임의의 Java 객체 참조의 참조를 전송 하려면 , 이 형태 (또는 subtype)의 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 가 throw 되는
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 가 throw 된다
예외:
ClassNotFoundException - 클래스가 로드되어 있지 않은 경우
IllegalArgumentException - mimeType 가 무효인 경우
NullPointerException - mimeType 가 null 의 경우
메소드의 상세

tryToLoadClass

protected static final Class <? > tryToLoadClass(String  className,
                                               ClassLoader  fallback)
                                        throws ClassNotFoundException 
bootstrap loader, 시스템 로더, 문맥 로더 (존재하는 경우), 지정된 로더의 차례로 클래스의 로드를 시도합니다.

파라미터:
className - 로드 되는 클래스의 이름
fallback - 대체용 로더
반환값:
로드 된 클래스
예외:
ClassNotFoundException - 클래스가 발견되지 않는 경우

toString

public String  toString()
DataFlavor 와 그 파라미터의 캐릭터 라인 표현입니다. 결과적으로 얻을 수 있는 String 에는,DataFlavor 클래스의 이름, 이 후레이바의 MIME 타입, 및 그 표현 클래스가 포함됩니다. 이 후레이바에 「텍스트」의 primary MIME 타입이 있어, 캐릭터 세트 파라미터를 지원하고 있어, encode 된 표현이 있는 경우에는, 후레이바의 캐릭터 세트도 포함됩니다. 캐릭터 세트 파라미터를 지원하는 테키스트후레이바의 리스트에 대해서는,selectBestTextFlavor 를 참조해 주세요.

오버라이드(override):
클래스 Object 내의 toString
반환값:
DataFlavor 의 캐릭터 라인 표현
관련 항목:
selectBestTextFlavor(java.awt.datatransfer.DataFlavor[])

getTextPlainUnicodeFlavor

public static final DataFlavor  getTextPlainUnicodeFlavor()
Unicode 인코딩으로 plaintext를 표현하는 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 인코딩으로 plaintext를 표현하는 DataFlavor
도입된 버젼:
1.3

selectBestTextFlavor

public static final DataFlavor  selectBestTextFlavor(DataFlavor [] availableFlavors)
DataFlavor 의 배열로부터 최적인 텍스트 DataFlavor 를 선택합니다. DataFlavor.stringFlavor 및 동등의 후레이바, 그리고 primary 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.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-16 BE, UTF-16LE 등의 Unicord 캐릭터 세트와 그 앨리어스(alias)가 최적이다라고 보입니다. 그 후, 플랫폼의 디폴트 캐릭터 세트와 그 앨리어스(alias)가 선택됩니다. US-ASCII 와 그 앨리어스(alias)는 가장 당돌합니다. 그 외의 캐릭터 세트는 알파벳순서에 선택됩니다. 다만, Java 플랫폼의 구현으로 지원되고 있는 캐릭터 세트에 한정됩니다.  

2 개(살) 이상의 후레이바가 최적인 캐릭터 세트를 공유하고 있는 경우, 후레이바는 재차 그 표현 클래스에 의해 java.io.InputStream,java.nio.ByteBuffer,[B, <남아 모두 > 의 순서에 소트 됩니다.  

2 개(살) 이상의 후레이바로 최적인 표현 클래스를 공유하고 있는 경우, 또는 지정된 3 개의 표현의 어느쪽이든을 가지는 후레이바가 없는 경우는, 그러한 후레이바의 어느쪽이든 1 개(살)이 무작위로 선택됩니다.

파라미터:
availableFlavors - 이용할 수 있는 DataFlavor 의 배열
반환값:
상에서 지정된 규칙에 관해서 최적인 (최적합) 후레이바. availableFlavorsnull, 길이가 제로, 또는 테키스트후레이바를 포함하지 않는 경우는 null
도입된 버젼:
1.3

getReaderForText

public Reader  getReaderForText(Transferable  transferable)
                        throws UnsupportedFlavorException ,
                               IOException 
필요에 따라서, 예상되는 캐릭터 세트 (encode)를 디코드한 테키스트후레이바의 Reader 를 가져옵니다. 지원되는 표현 클래스는 java.io.Reader,java.lang.String,java.nio.CharBuffer,[C,java.io.InputStream,java.nio.ByteBuffer, 및 [B 입니다.  

캐릭터 세트 파라미터를 지원하고 있지 않는 테키스트후레이바는 표준 이외의 포맷으로 encode 되기 (위해)때문에, 그러한 후레이바에 대해서 이 메소드를 호출해야 하는 것이 아닙니다. 다만, 하위 호환성을 유지하기 위해서, 그러한 후레이바로 이 메소드가 불려 갔을 경우는, 캐릭터 세트 파라미터를 지원하고 있는것 같이 후레이바를 취급해, 거기에 따라서 디코드하려고 합니다. 캐릭터 세트 파라미터를 지원하지 않는 테키스트후레이바의 리스트에 대해서는,selectBestTextFlavor 를 참조해 주세요.

파라미터:
transferable - 이 후레이바로 요구된다 데이터를 가지는 Transferable
반환값:
Transferable 의 데이터를 읽어들이는 Reader
예외:
IllegalArgumentException - 표현 클래스가 상기의 7 개의 리스트에 없는 경우
IllegalArgumentException - Transferable 의 데이터가 null 의 경우
NullPointerException - Transferablenull 의 경우
UnsupportedEncodingException - 후레이바의 표현이 java.io.InputStream, java.nio.ByteBuffer, 또는 [B 이며, 한편 후레이바의 인코딩이 Java 플랫폼의 구현으로 지원되어 있지 않은 경우
UnsupportedFlavorException - Transferable 가 이 후레이바를 지원하고 있지 않는 경우
IOException - 입출력 에러로 데이터의 read가 할 수 없는 경우
도입된 버젼:
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 의 primary MIME 타입을 돌려줍니다.

반환값:
DataFlavor 의 primary MIME 타입

getSubType

public String  getSubType()
DataFlavor 의 MIME subtype을 돌려줍니다.

반환값:
DataFlavor 의 MIME subtype

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 primary 타입과 subtype과 표현 클래스가 같은 경우는, 그 DataFlavor 는 동일하다고 보입니다. 게다가 primary 타입이 「텍스트」로, subtype이 캐릭터 세트 파라미터를 지원하는 테키스트후레이바를 나타내, 표현 클래스가 java.io.Reader,java.lang.String,java.nio.CharBuffer,[C 의 머지않아도 아닌 경우는,charset 파라미터도 동일하게 됩니다. 어느 쪽인지 한편, 또는 양쪽 모두의 DataFlavor 로 캐릭터 세트가 명시적으로 지정되어 있지 않은 경우는, 플랫폼의 디폴트 인코딩이 가정됩니다. 캐릭터 세트 파라미터를 지원하는 테키스트후레이바의 리스트에 대해서는,selectBestTextFlavor 를 참조해 주세요.

오버라이드(override):
클래스 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 primary 타입과 subtype과 표현 클래스가 같은 경우는, 그 DataFlavor 는 동일하다고 보입니다. 게다가 primary 타입이 「텍스트」로, subtype이 캐릭터 세트 파라미터를 지원하는 테키스트후레이바를 나타내, 표현 클래스가 java.io.Reader,java.lang.String,java.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 의 해시 코드와 같은가 어떤가는 보증할 수 없습니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
DataFlavor 의 해시 코드
관련 항목:
Object.equals(java.lang.Object) , Hashtable

match

public boolean match(DataFlavor  that)
어느 DataFlavor 곳의 DataFlavor 가 동일한지 어떤지를 판정합니다. 2 개의 DataFlavor 의 MIME primary 타입과 subtype과 표현 클래스가 같은 경우는, 그 DataFlavor 는 동일하다고 보입니다. 게다가 primary 타입이 「텍스트」로, subtype이 캐릭터 세트 파라미터를 지원하는 테키스트후레이바를 나타내, 표현 클래스가 java.io.Reader,java.lang.String,java.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 와 동등의 후레이바와 primary 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 를 직렬화합니다.

정의:
인터페이스 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 의 복제를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 clone
반환값:
DataFlavor 의 복제
예외:
CloneNotSupportedException - 객체의 클래스가 Cloneable 인터페이스를 지원하고 있지 않는 경우. clone 메소드를 오버라이드(override) 한 서브 클래스도, 인스턴스를 복제할 수 없는 것을 나타내기 위해서(때문에) 이 예외를 throw 하는 일이 있는
관련 항목:
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 subtype에, 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 도 참조해 주세요.