|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
public interface Doc
接口 Doc 指定某个对象的接口,该接口为 PrintJob 提供部分打印数据。"Doc" 是一个简短、易于发音的术语,指“部分打印数据”。客户端向 PrintJob 传递一个实现接口 Doc 的对象,PrintJob 则在该对象上调用方法来获得打印数据。Doc 接口允许 PrintJob:
DocFlavor
)。doc flavor 指定了打印数据格式(MIME 类型)和提供打印数据的对象的表示形式类。
javax.print.attribute
包中定义。doc 返回其存储在 javax.print.attribute.DocAttributeSet
中的打印属性。
每次调用接口 Doc 实现中的方法时,都允许该方法返回相同的对象。对于 PrintJob 或 doc 对象的其他调用者也是这样,其中,当调用者获得打印数据时,其打印数据表示形式对象“使用”该打印数据,例如作为流的打印数据表示形式对象。一旦 PrintJob 已经调用了
并且获得了该流,则对 getPrintData()
的所有其他调用都返回相同的流对象(对它的读取可能已经进行),而不是 从头开始重新读取打印数据的新流对象。指定 doc 对象具有此行为可简化 doc 对象的实现,根据 doc 只向一个 PrintJob 传送打印数据,而不是向多个 PrintJob 传送打印数据可以证明。(要向多个不同的 PrintJob 传送相同的打印数据,必须在同一打印数据源上创建多个不同的 doc 对象。)
getPrintData()
接口 Doc 提供了极佳的实现灵活性。构造 doc 对象时,打印数据可能已经存在。在这种情况下,可将 doc 的方法所返回的对象提供给该 doc 的构造方法、提前存储在该 doc 中,以及只是在调用时返回该对象。另外,构造 doc 对象时,打印数据可能不存在。在这种情况下,doc 对象可能延迟提供一个实现,该实现仅在 PrintJob 为它调用方法(当 PrintJob 调用
方法)时才生成打印数据表示形式对象(和/或打印数据)。
getPrintData()
对于并发访问同一个 doc 的客户端线程数目没有限制。因此,接口 Doc 的所有实现必须设计为多线程安全的。
但是对于从 Doc 所获得的打印数据而言,只能有一个使用者。
如果从客户端获得作为流的打印数据(通过调用 Doc 的 getReaderForText()
或 getStreamForBytes()
方法),或者因为打印数据源已经是一个 InputStream 或 Reader,则 PrintService 在所有作业完成的情况下,始终应该关闭客户端的这些流。注意以下警告。如果打印数据本身是一个流,则 PrintService 总是关闭它。如果打印数据是可以以流形式请求的其他内容,则 PrintService 仅在其终止前已获得流的情况下才关闭该流。也就是说,仅仅因为 PrintService 可能请求流形式的数据并不意味着(也不暗含着),这些依赖 PrintService 来关闭它们的 Doc 实现程序应该只为响应服务的请求才创建这种流。
方法摘要 | |
---|---|
DocAttributeSet |
getAttributes()
获取此 doc 对象的打印属性集。 |
DocFlavor |
getDocFlavor()
确定此 doc 对象提供其部分打印数据所用的 DocFlavor。 |
Object |
getPrintData()
获得打印数据表示形式对象,该对象包含此 doc 对象的部分打印数据,其格式对应于受支持的 DocFlavor。 |
Reader |
getReaderForText()
获得一个从此 doc 中提取字符打印数据的 reader。 |
InputStream |
getStreamForBytes()
获得一个从此 doc 中提取 byte 打印数据的输入流。 |
方法详细信息 |
---|
DocFlavor getDocFlavor()
Object getPrintData() throws IOException
getPrintData()
方法返回一个表示形式类的实例,其名称由 getDocFlavor()
、getRepresentationClassName()
给定,可将返回值从类 Object 强制转换为该表示形式类。
IOException
- 如果表示形式类是一个流且在构造该流时存在 I/O 错误。DocAttributeSet getAttributes()
Reader getReaderForText() throws IOException
IOException
- 如果创建 reader 时存在 I/O 错误。InputStream getStreamForBytes() throws IOException
IOException
- 如果创建输入流时存在 I/O 错误。
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。