|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.print
类 PrintServiceLookup
java.lang.Object javax.print.PrintServiceLookup
-
public abstract class PrintServiceLookup
- extends Object
此类的实现为特定类型的 PrintService(通常等效于打印机)提供查找服务。
可同时安装多个实现。所有实现必须能够以 PrintService 实例的方式描述找到的打印机。通常在 JAR 文件中自动查找此服务类的实现(请参阅 SPI JAR 文件规范)。这些类必须是可以使用默认的构造方法进行实例化的。另外,应用程序可以在运行时显式地注册实例。
应用程序只使用此抽象类的静态方法。由子类中的服务提供程序实现这些实例方法,当应用程序调用此类的静态方法时,由这些方法报告所有已安装查找类的统一结果。
建议 PrintServiceLookup 实现程序检查 SecurityManager.checkPrintJobAccess(),以拒绝对不受信任代码的访问。遵从此建议的策略意味着不受信任代码可能无法找到任何 PrintService。已下载的 applet 是不受信任代码最常见的示例。
对每个查找服务执行此项检查,从而允许策略中存在灵活性,以反映不同查找服务的需求。
如果安装了安全管理器并且其 checkPrintJobAccess() 方法拒绝访问,则查找结果中不会包括那些通过 registerService(PrintService) 注册的服务。
构造方法摘要 | |
---|---|
PrintServiceLookup() |
方法摘要 | |
---|---|
abstract PrintService |
getDefaultPrintService() 应用程序不直接调用它。 |
abstract MultiDocPrintService[] |
getMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes) 应用程序不直接调用它。 |
abstract PrintService[] |
getPrintServices() 应用程序不直接调用它。 |
abstract PrintService[] |
getPrintServices(DocFlavor flavor, AttributeSet attributes) 查找肯定可支持指定属性和 DocFlavor 组合的服务。 |
static PrintService |
lookupDefaultPrintService() 查找此环境的默认 PrintService。 |
static MultiDocPrintService[] |
lookupMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes) 查找能够打印 MultiDoc(包含所有指定的 doc flavor)的 MultiDoc PrintService。 |
static PrintService[] |
lookupPrintServices(DocFlavor flavor, AttributeSet attributes) 查找能够打印指定 DocFlavor 的 PrintService。 |
static boolean |
registerService(PrintService service) 允许应用程序直接注册一个实现了 PrintService 的类的实例。 |
static boolean |
registerServiceProvider(PrintServiceLookup sp) 允许应用程序显式地注册一个实现了查找服务的类。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
PrintServiceLookup
public PrintServiceLookup()
方法详细信息 |
---|
lookupPrintServices
public static final PrintService[] lookupPrintServices(DocFlavor flavor, AttributeSet attributes)
-
查找能够打印指定
DocFlavor
的 PrintService。 -
- 参数:
-
flavor
- 要打印的 flavor。如果为 null,则不使用此项约束。 -
attributes
- 该 PrintService 必须支持的属性。如果为 null,则不使用此项约束。 - 返回:
-
相符的
PrintService
对象的数组,这些对象表示那些支持指定 flavor 属性的打印服务。如果没有相符的服务,则数组的长度为零。
lookupMultiDocPrintServices
public static final MultiDocPrintService[] lookupMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes)
-
查找能够打印 MultiDoc(包含所有指定的 doc flavor)的 MultiDoc PrintService。
在查找可以打印
MultiDoc
(其中的元素可能具有不同 flavor) 的服务方面,此方法很有用。应用程序本身可以依次对每个DocFlavor
执行多次查找,然后对结果进行整理来完成此功能,但是查找服务可以更高效地完成此项工作。 -
- 参数:
-
flavors
- 要打印的 flavor。如果为 null 或为空,则不使用此项约束。否则只返回可打印所有指定 doc flavor 的 multidoc PrintService。 -
attributes
- 该 PrintService 必须支持的属性。如果为 null,则不使用此项约束。 - 返回:
-
相符的
MultiDocPrintService
对象的数组。如果没有相符的服务,则数组的长度为零。
lookupDefaultPrintService
public static final PrintService lookupDefaultPrintService()
-
查找此环境的默认 PrintService。此方法可以返回 null。如果多个查找服务每个都指定了默认值,则没有精确定义选择哪个服务,则通常将本机平台服务(而不是已安装的服务)作为默认值返回。如果没有明确标识的本机平台默认 PrintService,则默认值是以实现相关的方式所要找的第一个服务。
这可能包括使用任意首选的 API,它可作为 Java 或本机平台的一部分而提供。设置属性 javax.print.defaultPrinter 的用户可以重写此算法。指定的服务必须证明是有效的,并且目前可作为默认值返回。
-
- 返回:
- 默认的 PrintService。
registerServiceProvider
public static boolean registerServiceProvider(PrintServiceLookup sp)
- 允许应用程序显式地注册一个实现了查找服务的类。在不同的 VM 调用后不会保留该注册关系。如果应用程序需要提供一个不是安装的一部分的新服务,则这一点是很有用的。如果已注册该查找服务或无法注册它,则该方法返回 false。
-
- 参数:
-
sp
- 查找服务的实现。 - 返回:
-
如果新注册了该新的查找服务,则返回
true
;否则返回false
。
registerService
public static boolean registerService(PrintService service)
-
允许应用程序直接注册一个实现了 PrintService 的类的实例。由 PrintServiceLookup 类使用此服务所报告的属性值和类来执行对该服务的查找操作。这可能比专为该服务调整过的查找服务效率要低。因此建议注册一个
PrintServiceLookup
实例。如果此服务以前未注册并且现在成功注册了,则该方法返回 true。不应使用 StreamPrintService 实例调用此方法。这样始终会注册失败并且该方法将返回 false。 -
- 参数:
-
service
- PrintService 的实现。 - 返回:
-
如果新注册了该服务,则返回
true
;否则返回false
。
getPrintServices
public abstract PrintService[] getPrintServices(DocFlavor flavor, AttributeSet attributes)
-
查找肯定可支持指定属性和 DocFlavor 组合的服务。应用程序不直接调用此方法。
此方法由服务提供程序实现,由此类的静态方法使用。
结果应该与下列过程相同:获得所有 PrintService,逐个查询每个 PrintService 是否支持指定的属性和 flavor;但是处理时为 PrintService 充分利用查找服务的功能要更为高效。
-
- 参数:
-
flavor
- 必需的文档。如果为 null,则忽略它。 -
attributes
- 必需支持的属性。如果为 null,则不使用此项约束。 - 返回:
- 相符的 PrintService 的数组。如果没有相符的服务,则数组的长度为零。
getPrintServices
public abstract PrintService[] getPrintServices()
- 应用程序不直接调用它。此方法由服务提供程序实现,由此类的静态方法使用。
-
- 返回:
- 此查找服务类已知的所有 PrintService 的数组。如果未找到服务,则数组的长度为零。