|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.activation.DataHandler
public class DataHandler
DataHandler 클래스는, 다수의 다양한 소스나 형식에 이용할 수 있는 데이터에 대한 일관한 인터페이스를 제공합니다. DataContentHandler 를 사용해, 캐릭터 라인 변환이나 거기에 관련하는 조작을 위한 간단한 스트림을 관리합니다. 또, 데이터를 처리할 수 있는 커멘드에의 액세스도 제공합니다. 이러한 커멘드는, CommandMap 를 사용해 검색할 수 있습니다.
DataHandler 와 Transferable 인터페이스
DataHandler 는, Transferable 인터페이스를 구현해, 컷&페이스트나 드래그&드롭등의 AWT 데이터 전송 조작에 데이터를 사용할 수 있도록(듯이) 합니다. Transferable 인터페이스의 구현은, DataHandler 의 특정의 인스턴스로 표현된 데이터의 MIME 타입에 대응하는, 인스톨 끝난 DataContentHandler 객체의 가용성에 의존합니다.
DataHandler 와 CommandMap
DataHandler 는, 커멘드에 관한 요구 (getCommand
,getAllCommands
,getPreferredCommands
)를 처리하기 위해서 사용하는 현재의 CommandMap 를 추적합니다. DataHandler 의 각 인스턴스에는,setCommandMap
메소드에 의해 CommandMap 를 관련지을 수 있고 있는 경우가 있습니다. CommandMap 가 설정되어 있지 않은 경우는, CommandMap 의 getDefaultCommandMap
메소드를 호출해, 그것이 돌려주는 값을 사용합니다. 상세한 것에 대하여는, 「CommandMap」를 참조해 주세요.
DataHandler 와 URL
현재의 DataHandler 의 구현에서는, DataHandler 가 URL 를 사용해 구축되면(자), URLDataSource 의 private 인스턴스를 작성합니다.
CommandMap
,
DataContentHandler
,
DataSource
,
URLDataSource
생성자 의 개요 | |
---|---|
DataHandler (DataSource ds)
지정된 DataSource 를 참조하는 DataHandler 인스턴스를 구축합니다. |
|
DataHandler (Object obj,
String mimeType)
이 MIME 타입의 객체를 나타내는 DataHandler 인스턴스를 작성합니다. |
|
DataHandler (URL url)
URL 를 참조하는 DataHandler 인스턴스를 작성합니다. |
메소드의 개요 | |
---|---|
CommandInfo [] |
getAllCommands ()
이 타입의 데이터의 커멘드를 모두 돌려줍니다. |
Object |
getBean (CommandInfo cmdinfo)
CommandInfo 객체를 취득해, 대응하는 커멘드 (일반적으로은 JavaBean 컴퍼넌트)를 인스턴스화하는 편리한 메소드입니다. |
CommandInfo |
getCommand (String cmdName)
cmdName 라고 하는 커멘드를 가져옵니다. |
Object |
getContent ()
적절한 객체 형식에서 데이터를 돌려줍니다. |
String |
getContentType ()
이 객체의 MIME 타입을 돌려줍니다. |
DataSource |
getDataSource ()
이 DataHandler 의 인스턴스에 관련지을 수 있었던 DataSource 를 돌려줍니다. |
InputStream |
getInputStream ()
이 객체의 InputStream 를 가져옵니다. |
String |
getName ()
데이터 객체의 이름을 돌려줍니다. |
OutputStream |
getOutputStream ()
이 DataHandler 의 OutputStream 를 취득해, 기본으로 되는 데이터를 덧쓰기할 수 있도록(듯이) 합니다. |
CommandInfo [] |
getPreferredCommands ()
이 타입의 데이터의 「우선」커멘드를 돌려줍니다. |
Object |
getTransferData (DataFlavor flavor)
전송 되는 데이터를 나타내는 객체를 돌려줍니다. |
DataFlavor [] |
getTransferDataFlavors ()
이 데이터를 이용할 수 있는 DataFlavor 를 돌려줍니다. |
boolean |
isDataFlavorSupported (DataFlavor flavor)
지정된 데이타후레이바가, 이 객체에 대해서 지원되고 있는지 어떤지를 돌려줍니다. |
void |
setCommandMap (CommandMap commandMap)
이 DataHandler 가 사용하는 CommandMap 를 설정합니다. |
static void |
setDataContentHandlerFactory (DataContentHandlerFactory newFactory)
DataContentHandlerFactory 를 설정합니다. |
void |
writeTo (OutputStream os)
데이터를 OutputStream 에 기입합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public DataHandler(DataSource ds)
DataHandler
인스턴스를 구축합니다. 데이터는, 바이트 스트림 형식에서 포함되고 있습니다. DataSource 는, 데이터에 액세스하기 위한 InputStream 를 제공합니다.
ds
- DataSourcepublic DataHandler(Object obj, String mimeType)
DataHandler
인스턴스를 작성합니다.
이 생성자 은, 어플리케이션이 메모리상에 Java 객체 형식의 데이터 표현을 벌써 가지고 있는 경우에 사용합니다.
obj
- Java 객체mimeType
- 객체의 MIME 타입public DataHandler(URL url)
DataHandler
인스턴스를 작성합니다.
DataHandler 는, URL 를 나타내기 위해서(때문에) URLDataSource
인스턴스를 내부적으로 작성합니다.
url
- URL 객체메소드의 상세 |
---|
public DataSource getDataSource()
DataHandler 가 DataSource 를 사용해 인스턴스화 되었을 경우, 이 메소드는 DataHandler 객체의 작성에 사용된 DataSource 를 돌려줍니다. 그 이외의 경우, DataHandler 는 DataHandler 의 구축에 사용된 데이터로부터 DataSource 를 구축합니다. DataSource 를 사용해 인스턴스화되어 있지 않은 DataHandler 용으로 작성된 DataSource 는, 퍼포먼스상의 이유로써 캐쉬에 포함됩니다.
public String getName()
DataSource.getName
메소드를 호출합니다. 그렇지 않은 경우는,null 를 돌려줍니다.
public String getContentType()
public InputStream getInputStream() throws IOException
DataHandler 가 DataSource 를 사용해 인스턴스화 되었을 경우, DataHandler 는 DataSource.getInputStream
메소드를 호출해, 그 결과를 호출해 측에 돌려줍니다.
DataHandler 가 객체를 사용해 인스턴스화 되었을 경우, DataHandler 는 우선 그 객체의 DataContentHandler 를 찾아 내려고 합니다. 이 MIME 타입의 DataContentHandler 이 발견되지 않는 경우는, UnsupportedDataTypeException 를 throw 합니다. 발견되었을 경우는, 파이프와 thread를 작성합니다. thread는 DataContentHandler 의 writeTo
메소드를 사용해, 스트림 데이터를 파이프의 일단에 기입합니다. 파이프의 이제(벌써) 일단은, 호출 측에 돌려주어집니다. 데이터를 카피하기 위해서 thread가 작성되기 (위해)때문에, 카피시에 발생하는 IOException 가 호출해 측에 돌려 보내지지 않은 것이 있습니다. 이 경우는, 빈 상태(empty)의 스트림이 돌려주어집니다.
IOException
- 입출력 에러가 발생했을 경우DataContentHandler.writeTo(java.lang.Object, java.lang.String, java.io.OutputStream)
,
UnsupportedDataTypeException
public void writeTo(OutputStream os) throws IOException
OutputStream
에 기입합니다. DataHandler 가 DataSource 를 사용해 작성되었을 경우, writeTo 는 InputStream 를 꺼내, InputStream 로부터 꺼낸 바이트를 건네받은 OutputStream 에 카피합니다.
DataHandler 가 객체를 사용해 작성되었을 경우, writeTo 는 그 객체 타입의 DataContentHandler 를 검색합니다. DataContentHandler 가 발견되면(자),DataContentHandler
의 writeTo
메소드를 호출합니다.
os
- 기입처의 OutputStream
IOException
- 입출력 에러가 발생했을 경우public OutputStream getOutputStream() throws IOException
getOutputStream
메소드가 불려 갑니다. 그 이외의 경우는,null
가 돌려주어집니다.
IOException
DataSource.getOutputStream()
,
URLDataSource
public DataFlavor [] getTransferDataFlavors()
데이터를 제공할 수가 있는 후레이바를 나타내는 DataFlavor 객체의 배열을 돌려줍니다. 배열은 일반적으로, 데이터 제공을 위한 우선 설정에 따라, 가장 자세하게 기술되고 있는 것으로부터, 그렇지 않은 것에 순서 붙이고 됩니다.
DataHandler 는, 데이터의 MIME 타입에 대응하는 DataContentHandler 를 찾아 내려고 합니다. 발견되었을 경우는, 그 DataContentHandler 의 getTransferDataFlavors
메소드를 호출합니다.
DataContentHandler 가 발견되지 않는 경우나, DataHandler 가 DataSource (또는 URL)를 사용해 작성되었을 경우는, 이 객체의 MIME 타입과 java.io.InputStream
클래스를 나타내는 DataFlavor 가 돌려주어집니다.
DataHandler 가 객체와 MIME 타입을 사용해 작성되었을 경우는, 이 객체의 MIME 타입과 클래스를 나타내는 DataFlavor 가 돌려주어집니다.
Transferable
내의 getTransferDataFlavors
DataContentHandler.getTransferDataFlavors()
public boolean isDataFlavorSupported(DataFlavor flavor)
이 메소드는,getTransferDataFlavors
로부터 반환되는 각 DataFlavor 를 지정의 후레이바와 비교합니다.
Transferable
내의 isDataFlavorSupported
flavor
- 데이터에 대해서 요구된 후레이바
getTransferDataFlavors()
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException , IOException
DataHandler 가 DataSource 또는 URL 를 사용해 작성되었을 경우
DataHandler 는, 이 MIME 타입의 DataContentHandler 를 찾아내려고 합니다. 발견되었을 경우는, 건네받은 DataFlavor 와 데이터의 타입이 그 getTransferData
메소드에게 건네집니다. DataContentHandler 가 발견되지 않는 경우는, 후레이바에 이 객체의 MIME 타입과 java.io.InputStream
클래스가 지정되고 있으면, 이 객체의 InputStream 가 돌려주어집니다. 지정되어 있지 않은 경우는, UnsupportedFlavorException 가 throw 됩니다.
DataHandler 가 객체를 사용해 작성되었을 경우
DataHandler 는, 이 MIME 타입의 DataContentHandler 를 찾아내려고 합니다. 발견되었을 경우는, 건네받은 DataFlavor 와 데이터의 타입이 그 getTransferData 메소드에게 건네집니다. DataContentHandler 가 발견되지 않는 경우는, 후레이바에 이 객체의 MIME 타입과 클래스가 지정되고 있으면, 이 DataHandler 가 참조한 객체가 돌려주어집니다. 지정되어 있지 않은 경우는, UnsupportedFlavorException 가 throw 됩니다.
Transferable
내의 getTransferData
flavor
- 데이터에 대해서 요구된 후레이바
UnsupportedFlavorException
- 데이터가 요구된 후레이바에 변환되지 않았던 경우
IOException
- 입출력 에러가 발생했을 경우ActivationDataFlavor
public void setCommandMap(CommandMap commandMap)
null
로 설정하면(자), CommandMap 은 CommandMap.getDefaultCommandMap
메소드에 의해 반환되는 CommandMap 에 되돌려집니다. CommandMap 를 변경하거나 그것을 null
로 설정하거나 하면(자), 이전의 CommandMap 에 캐쉬되고 있던 데이터는 모두 소거됩니다.
commandMap
- 이 DataHandler 로 사용하는 CommandMapCommandMap.setDefaultCommandMap(javax.activation.CommandMap)
public CommandInfo [] getPreferredCommands()
getPreferredCommands
메소드를 호출합니다. 이 메소드는, 이용할 수 있는 커멘드의 부분집합을 나타내는 배열을 돌려줍니다. 이 DataHandler 에 의해 나타내진 MIME 타입의 커멘드가 다수 있는 경우는, 인스톨 된 CommandMap 에 의해 해당하는 커멘드가 선택됩니다.
CommandMap.getPreferredCommands(java.lang.String)
public CommandInfo [] getAllCommands()
getAllCommands
메소드의 호출에 사용됩니다.
CommandMap.getAllCommands(java.lang.String)
public CommandInfo getCommand(String cmdName)
getCommand
메소드의 호출에 사용됩니다.
cmdName
- 커멘드명
CommandMap.getCommand(java.lang.String, java.lang.String)
public Object getContent() throws IOException
DataHandler 가 객체를 사용해 인스턴스화 되었을 경우는, 그 객체를 돌려줍니다.
DataHandler 가 DataSource 를 사용해 인스턴스화 되었을 경우는, DataContentHandler 를 사용해, 이 DataHandler 에 의해 나타내진 데이터의 컨텐츠 객체를 돌려줍니다.
이 데이터의 타입의 DataContentHandler
가 발견되지 않는 경우는, DataHandler 에 의해 이 데이터의 InputStream 가 돌려주어집니다.
IOException
- 이 조작시에
IOException 가 발생했을 경우public Object getBean(CommandInfo cmdinfo)
이 메소드는,javax.activation.DataHandler
클래스 자체의 로드에 사용된 ClassLoader
를 사용해, CommandInfo 의 getCommandObject
메소드를 호출합니다.
cmdinfo
- 커멘드에 대응하는 CommandInfo
public static void setDataContentHandlerFactory(DataContentHandlerFactory newFactory)
DataContentHandlerFactory 가 벌써 설정되어 있는 경우는, Error 가 throw 됩니다.
newFactory
- DataContentHandlerFactory
Error
- 팩토리가 벌써 정의되고 있는 경우DataContentHandlerFactory
|
JavaTM Platform Standard Ed. 6 |
|||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.