public class DataHandler extends Object implements Transferable
javax.activation.Datahandler和可转让的接口
DataHandler实现了转换接口,数据可用于AWT的数据传输业务,如剪切、粘贴和拖放。的转换接口的实现依赖于安装的datacontenthandler对象对应的具体实例javax.activation.Datahandler表示的数据的MIME类型的可用性。
DataHandler和commandmaps
该javax.activation.Datahandler跟踪当前commandmap它使用命令服务请求(getCommand
,getAllCommands
,getPreferredCommands
)。一个javax.activation.Datahandler每个实例可能有commandmap使用setCommandMap
方法与它相关联的。如果一个commandmap尚未建立,DataHandler称CommandMap getDefaultCommandMap
方法和使用它的返回值。更多信息见commandmap。
DataHandler和网址
当前的实现创造了urldatasource javax.activation.Datahandler私有实例时,它是一个URL构造。
CommandMap
,
DataContentHandler
,
DataSource
,
URLDataSource
Constructor and Description |
---|
DataHandler(DataSource ds)
创建一个
DataHandler 实例引用指定的数据源。
|
DataHandler(Object obj, String mimeType)
创建代表该MIME类型的对象
DataHandler 实例。
|
DataHandler(URL url)
创建一个
DataHandler 实例的URL。
|
Modifier and Type | Method and Description |
---|---|
CommandInfo[] |
getAllCommands()
返回此类型数据的所有命令。
|
Object |
getBean(CommandInfo cmdinfo)
一个方便的方法,以commandinfo对象实例化相应的命令,通常一个JavaBean组件。
|
CommandInfo |
getCommand(String cmdName)
得到命令cmdName。
|
Object |
getContent()
返回首选对象窗体中的数据。
|
String |
getContentType()
返回该对象的MIME类型从源对象检索。
|
DataSource |
getDataSource()
返回此实例关联的数据源javax.activation.Datahandler。
|
InputStream |
getInputStream()
获得此对象的输入流。
|
String |
getName()
返回数据对象的名称。
|
OutputStream |
getOutputStream()
拿到这javax.activation.Datahandler允许覆盖底层数据的输出流。
|
CommandInfo[] |
getPreferredCommands()
返回该类型的数据优先命令。
|
Object |
getTransferData(DataFlavor flavor)
返回一个表示要传输的数据的对象。
|
DataFlavor[] |
getTransferDataFlavors()
返回dataflavors这数据是可用的。
|
boolean |
isDataFlavorSupported(DataFlavor flavor)
返回此对象是否支持指定的数据的味道。
|
void |
setCommandMap(CommandMap commandMap)
使用这套commandmap javax.activation.Datahandler。
|
static void |
setDataContentHandlerFactory(DataContentHandlerFactory newFactory)
集datacontenthandlerfactory。
|
void |
writeTo(OutputStream os)
写数据到一个
OutputStream 。
|
public DataHandler(DataSource ds)
DataHandler
实例引用指定的数据源。数据以一个字节流形式存在。数据源将数据访问提供一个输入流。
ds
-数据源
public DataHandler(Object obj, String mimeType)
DataHandler
实例。此构造函数时使用的应用程序已经在一个java对象的形式表示的数据存储器。
obj
的java对象
mimeType
-对象的MIME类型
public DataHandler(URL url)
DataHandler
实例的URL。该javax.activation.Datahandler内部创建了一个
URLDataSource
实例表示的URL。
url
-一个URL对象
public DataSource getDataSource()
对于已使用一个数据源datahandlers,此方法返回的数据源,用于创建javax.activation.Datahandler对象。在其他情况下,构建一个数据源的数据从javax.activation.Datahandler用于构建javax.activation.Datahandler。对于datahandlers 不实例化数据源创建的数据源缓存性能的原因。
public String getName()
DataSource.getName
方法,否则返回。
public String getContentType()
public InputStream getInputStream() throws IOException
对于datahandlers实例化一个数据源,该调用DataSource.getInputStream
javax.activation.Datahandler方法并将结果返回给调用者。
对于datahandlers实例化一个对象,该javax.activation.Datahandler第一试图找到一个对象的datacontenthandler。如果找不到javax.activation.Datahandler这个MIME类型datacontenthandler,它抛出一个unsupporteddatatypeexception。如果它是成功的,它创建一个管道和一个线程。该线程使用datacontenthandler的writeTo
法写的数据流在管的一端。管道的另一端返回给调用方。因为一个线程被创建来复制数据,ioexceptions期间可能发生的不可复制传播回电话。其结果是一个空的流。
IOException
如果I/O错误发生
DataContentHandler.writeTo(java.lang.Object, java.lang.String, java.io.OutputStream)
,
UnsupportedDataTypeException
public void writeTo(OutputStream os) throws IOException
OutputStream
。
如果javax.activation.Datahandler与DataSource创建,地址检索输入复制到输出流通过InputStream字节。
如果javax.activation.Datahandler与对象创建,地址检索对象的类型datacontenthandler。如果DataContentHandler被发现,它呼吁DataContentHandler
的writeTo
方法。
os
的OutputStream写入
IOException
如果I/O错误发生
public OutputStream getOutputStream() throws IOException
getOutputStream
方法称为。否则,
null
返回。
IOException
DataSource.getOutputStream()
,
URLDataSource
public DataFlavor[] getTransferDataFlavors()
返回dataflavor对象表示的数据可以提供在香料数组。数组通常是有序的,根据偏好提供的数据,从最丰富的描述性的至少丰富的描述性。
DataHandler试图找到一个datacontenthandler对应数据的MIME类型。如果一个位于,的电话的getTransferDataFlavors
方法datacontenthandler javax.activation.Datahandler。
如果一个datacontenthandler可以不位置,如果javax.activation.Datahandler与DataSource创建(或URL),一个DataFlavor还代表这个对象的类型和java.io.InputStream
类。如果javax.activation.Datahandler是一个对象和一个MIME类型创建的,gettransferdataflavors返回一dataflavor代表这个对象的类型和对象的类。
getTransferDataFlavors
接口
Transferable
DataContentHandler.getTransferDataFlavors()
public boolean isDataFlavorSupported(DataFlavor flavor)
该方法遍历dataflavors返回getTransferDataFlavors
,比较各指定的味道。
isDataFlavorSupported
接口
Transferable
flavor
-请求的数据的味道
getTransferDataFlavors()
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException
DataHandler创建的数据源或URL:
DataHandler试图找到这个MIME类型DataContentHandler。如果一个人发现,过去在dataflavor和数据类型传递给它的getTransferData
方法。如果不能找到一个datacontenthandler javax.activation.Datahandler和风味指定该对象的MIME类型,java.io.InputStream
类,这个对象的InputStream返回。否则抛出一个unsupportedflavorexception。
DataHandler创建的对象:
DataHandler试图找到这个MIME类型DataContentHandler。如果一个人发现,过去在dataflavor和数据类型传递给它的gettransferdata方法。如果不能找到一个datacontenthandler javax.activation.Datahandler和风味指定该对象的MIME类型和类的引用,该对象返回javax.activation.Datahandler。否则抛出一个unsupportedflavorexception。
getTransferData
接口
Transferable
flavor
-请求的数据的味道
UnsupportedFlavorException
-如果数据不能转换为所请求的味道
IOException
如果I/O错误发生
ActivationDataFlavor
public void setCommandMap(CommandMap commandMap)
null
使commandmap回到commandmap由
CommandMap.getDefaultCommandMap
方法返回。改变commandmap,或将其设置为
null
,清除任何缓存的数据从以前的commandmap。
commandMap
- commandmap采用javax.activation.Datahandler
CommandMap.setDefaultCommandMap(javax.activation.CommandMap)
public CommandInfo[] getPreferredCommands()
getPreferredCommands
方法commandmap javax.activation.Datahandler。此方法返回一个数组,该数组表示可用命令的子集。在用这javax.activation.Datahandler为代表的MIME类型的多个命令的情况下,安装commandmap选择合适的命令。
CommandMap.getPreferredCommands(java.lang.String)
public CommandInfo[] getAllCommands()
getAllCommands
方法commandmap javax.activation.Datahandler。
CommandMap.getAllCommands(java.lang.String)
public CommandInfo getCommand(String cmdName)
getCommand
方法commandmap javax.activation.Datahandler。
cmdName
的命令名
CommandMap.getCommand(java.lang.String, java.lang.String)
public Object getContent() throws IOException
如果javax.activation.Datahandler被实例化一个对象,返回对象。
如果javax.activation.Datahandler是使用一个数据源,这种方法使用一个datacontenthandler返回这个javax.activation.Datahandler表示的数据的内容对象。如果没有DataContentHandler
可以找到这个数据的类型,其javax.activation.Datahandler返回数据的输入流。
IOException
-如果在这个操作过程中出现异常。
public Object getBean(CommandInfo cmdinfo)
此方法调用用于加载javax.activation.DataHandler
类本身的ClassLoader
的commandinfo的getCommandObject
方法。
cmdinfo
-对应一个命令commandinfo
public static void setDataContentHandlerFactory(DataContentHandlerFactory newFactory)
如果datacontenthandlerfactory已经设置,该方法将抛出一个错误。
newFactory
- DataContentHandlerFactory
Error
-如果工厂已被定义。
DataContentHandlerFactory
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.