uTools-Manuals/docs/java/javax/print/PrintServiceLookup.html

386 lines
21 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
javax.print
</div>
<h2 class="title" title="Class PrintServiceLookup">Class PrintServiceLookup</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.print.PrintServiceLookup</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">PrintServiceLookup</span>
extends <a href="../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<span>该类的实现为特定类型的打印服务(通常相当于打印机)提供查找服务。</span>
<p> <span>可以同时安装多个实现。</span> <span>所有实现必须能够将定位的打印机描述为PrintService的实例。</span> <span>通常此服务类的实现将自动定位在JAR文件中请参阅SPI JAR文件规范</span> <span>这些类必须使用默认构造函数来实例化。</span> <span>或者应用程序可以在运行时显式注册实例。</span> </p>
<p> <span>应用程序只使用这个抽象类的静态方法。</span> <span>实例方法由子类中的服务提供者实现,并且所有安装的查找类的结果的统一由应用程序调用时由该类的静态方法报告。</span> </p>
<p> <span>建议使用PrintServiceLookup实现程序来检查SecurityManager.checkPrintJobAccess以拒绝对不受信任的代码的访问。</span> <span>遵循此推荐政策意味着不受信任的代码可能无法找到任何打印服务。</span> <span>下载的小程序是不受信任代码最常见的示例。</span> </p>
<p> <span>这种检查是基于每个查找服务进行的,以允许策略中的灵活性来反映不同查找服务的需求。</span> </p>
<p> <span>如果安装了安全管理器并且其checkPrintJobAccess方法拒绝访问则由registerServicePrintService注册的服务将不会包含在查找结果中。</span> </p>
</div> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../javax/print/PrintServiceLookup.html#PrintServiceLookup--">PrintServiceLookup</a></span>()</code> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t1"><span><a href="javascript:show(1);">静态方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code>abstract <a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/print/PrintServiceLookup.html#getDefaultPrintService--">getDefaultPrintService</a></span>()</code>
<div class="block">
不被应用程序直接调用
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>abstract <a href="../../javax/print/MultiDocPrintService.html" title="interface in javax.print">MultiDocPrintService</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/print/PrintServiceLookup.html#getMultiDocPrintServices-javax.print.DocFlavor:A-javax.print.attribute.AttributeSet-">getMultiDocPrintServices</a></span>(<a href="../../javax/print/DocFlavor.html" title="class in javax.print">DocFlavor</a>[] flavors, <a href="../../javax/print/attribute/AttributeSet.html" title="interface in javax.print.attribute">AttributeSet</a> attributes)</code>
<div class="block">
不被应用程序直接调用
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>abstract <a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/print/PrintServiceLookup.html#getPrintServices--">getPrintServices</a></span>()</code>
<div class="block">
不被应用程序直接调用
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>abstract <a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/print/PrintServiceLookup.html#getPrintServices-javax.print.DocFlavor-javax.print.attribute.AttributeSet-">getPrintServices</a></span>(<a href="../../javax/print/DocFlavor.html" title="class in javax.print">DocFlavor</a> flavor, <a href="../../javax/print/attribute/AttributeSet.html" title="interface in javax.print.attribute">AttributeSet</a> attributes)</code>
<div class="block">
找到可以肯定确认的服务以支持指定的属性和DocFlavors的组合。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>static <a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/print/PrintServiceLookup.html#lookupDefaultPrintService--">lookupDefaultPrintService</a></span>()</code>
<div class="block">
找到此环境的默认打印服务。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>static <a href="../../javax/print/MultiDocPrintService.html" title="interface in javax.print">MultiDocPrintService</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/print/PrintServiceLookup.html#lookupMultiDocPrintServices-javax.print.DocFlavor:A-javax.print.attribute.AttributeSet-">lookupMultiDocPrintServices</a></span>(<a href="../../javax/print/DocFlavor.html" title="class in javax.print">DocFlavor</a>[] flavors, <a href="../../javax/print/attribute/AttributeSet.html" title="interface in javax.print.attribute">AttributeSet</a> attributes)</code>
<div class="block">
找到能够打印包含所有指定文档风格的MultiDoc的MultiDoc打印服务。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>static <a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a>[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/print/PrintServiceLookup.html#lookupPrintServices-javax.print.DocFlavor-javax.print.attribute.AttributeSet-">lookupPrintServices</a></span>(<a href="../../javax/print/DocFlavor.html" title="class in javax.print">DocFlavor</a> flavor, <a href="../../javax/print/attribute/AttributeSet.html" title="interface in javax.print.attribute">AttributeSet</a> attributes)</code>
<div class="block">
<span>找到能打印指定的打印服务<a href="../../javax/print/DocFlavor.html" title="javax.print中的类"><code>DocFlavor</code></a></span>
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/print/PrintServiceLookup.html#registerService-javax.print.PrintService-">registerService</a></span>(<a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a> service)</code>
<div class="block">
允许应用程序直接注册实现打印服务的类的实例。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../javax/print/PrintServiceLookup.html#registerServiceProvider-javax.print.PrintServiceLookup-">registerServiceProvider</a></span>(<a href="../../javax/print/PrintServiceLookup.html" title="class in javax.print">PrintServiceLookup</a> sp)</code>
<div class="block">
允许应用程序显式注册实现查找服务的类。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../java/lang/Object.html#clone--">clone</a>, <a href="../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../java/lang/Object.html#notify--">notify</a>, <a href="../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../java/lang/Object.html#toString--">toString</a>, <a href="../../java/lang/Object.html#wait--">wait</a>, <a href="../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="PrintServiceLookup--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>PrintServiceLookup</h4> <pre>public PrintServiceLookup()</pre> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="lookupPrintServices-javax.print.DocFlavor-javax.print.attribute.AttributeSet-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>lookupPrintServices</h4> <pre>public static final <a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a>[] lookupPrintServices(<a href="../../javax/print/DocFlavor.html" title="class in javax.print">DocFlavor</a> flavor,
<a href="../../javax/print/attribute/AttributeSet.html" title="interface in javax.print.attribute">AttributeSet</a> attributes)</pre>
<div class="block">
<span>找到能够打印指定的打印服务<a href="../../javax/print/DocFlavor.html" title="javax.print中的类"><code>DocFlavor</code></a></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>flavor</code> - 打印的味道。</span>
<span>如果为null则不使用此约束。</span>
</dd>
<dd>
<span><code>attributes</code> - 打印服务必须支持的属性。</span>
<span>如果为null则不使用此约束。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>表示支持指定风味属性的打印服务的匹配<code>PrintService</code>对象的数组。</span>
<span>如果没有服务匹配,则数组为零长度。</span>
</dd>
</dl> </li>
</ul> <a name="lookupMultiDocPrintServices-javax.print.DocFlavor:A-javax.print.attribute.AttributeSet-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>lookupMultiDocPrintServices</h4> <pre>public static final <a href="../../javax/print/MultiDocPrintService.html" title="interface in javax.print">MultiDocPrintService</a>[] lookupMultiDocPrintServices(<a href="../../javax/print/DocFlavor.html" title="class in javax.print">DocFlavor</a>[] flavors,
<a href="../../javax/print/attribute/AttributeSet.html" title="interface in javax.print.attribute">AttributeSet</a> attributes)</pre>
<div class="block">
<span>找到能够打印包含所有指定文档风格的MultiDoc的MultiDoc打印服务。</span>
<p> <span>这个方法是有用的,以帮助找到可以打印服务<code>MultiDoc</code>其中元素可以是不同的调味剂。</span> <span>应用程序可以依次对每个<code>DocFlavor</code>进行多次查找来执行此操作,并对结果进行整理,但查找服务可能能够更有效地执行此操作。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>flavors</code> - 要打印的口味。</span>
<span>如果为null或空则不使用此约束。</span>
<span>否则只返回可以打印所有指定的doc口味的多点打印服务。</span>
</dd>
<dd>
<span><code>attributes</code> - 打印服务必须支持的属性。</span>
<span>如果为null则不使用此约束。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>数组匹配<a href="../../javax/print/MultiDocPrintService.html" title="javax.print中的接口"><code>MultiDocPrintService</code></a>对象。</span>
<span>如果没有服务匹配,则数组为零长度。</span>
</dd>
</dl> </li>
</ul> <a name="lookupDefaultPrintService--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>lookupDefaultPrintService</h4> <pre>public static final <a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a> lookupDefaultPrintService()</pre>
<div class="block">
<span>找到此环境的默认打印服务。</span>
<span>这可能返回null。</span>
<span>如果多个查找服务均指定默认值,则所选服务未精确定义,但平台本机服务(而不是已安装的服务)通常作为默认值返回。</span>
<span>如果没有可清晰识别的平台本机默认打印服务,则默认是以依赖于实现的方式定位的。</span>
<p> <span>这可能包括使用可作为Java或本地平台一部分可用的任何首选项API。</span> <span>此算法可能会被用户设置属性javax.print.defaultPrinter覆盖。</span> <span>必须发现指定的服务是有效的,并且当前可用作为默认值返回。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
默认的PrintService。
</dd>
</dl> </li>
</ul> <a name="registerServiceProvider-javax.print.PrintServiceLookup-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>registerServiceProvider</h4> <pre>public static boolean registerServiceProvider(<a href="../../javax/print/PrintServiceLookup.html" title="class in javax.print">PrintServiceLookup</a> sp)</pre>
<div class="block">
<span>允许应用程序显式注册实现查找服务的类。</span>
<span>注册不会在VM调用之间持续存在。</span>
<span>如果应用程序需要提供不属于安装的新服务,这将非常有用。</span>
<span>如果查找服务已经注册或者无法注册则该方法返回false。</span>
<p></p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>sp</code> - 查找服务的实现。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span><code>true</code>如果新<code>true</code>的新查找服务;</span>
<span><code>false</code>否则。</span>
</dd>
</dl> </li>
</ul> <a name="registerService-javax.print.PrintService-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>registerService</h4> <pre>public static boolean registerService(<a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a> service)</pre>
<div class="block">
<span>允许应用程序直接注册实现打印服务的类的实例。</span>
<span>此服务的查找操作将由PrintServiceLookup类使用服务报告的属性值和类执行。</span>
<span>这可能比为该服务调整的查找服务效率低。</span>
<span>因此,建议注册一个<code>PrintServiceLookup</code>实例。</span>
<span>如果此服务以前未注册并且现在已成功注册该方法将返回true。</span>
<span>不应该使用StreamPrintService实例调用此方法。</span>
<span>他们总是无法注册方法将返回false。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>service</code> - 打印服务的实现。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span><code>true</code>如果服务是新注册的;</span>
<span><code>false</code>否则。</span>
</dd>
</dl> </li>
</ul> <a name="getPrintServices-javax.print.DocFlavor-javax.print.attribute.AttributeSet-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getPrintServices</h4> <pre>public abstract <a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a>[] getPrintServices(<a href="../../javax/print/DocFlavor.html" title="class in javax.print">DocFlavor</a> flavor,
<a href="../../javax/print/attribute/AttributeSet.html" title="interface in javax.print.attribute">AttributeSet</a> attributes)</pre>
<div class="block">
<span>找到可以肯定确认的服务以支持指定的属性和DocFlavors的组合。</span>
<span>此方法不是直接由应用程序调用。</span>
<p> <span>由服务提供商实现,由该类的静态方法使用。</span> </p>
<p> <span>结果应该与获取所有PrintServices并单独查询其对指定属性和风格的支持相同但是通过利用查找服务对打印服务的功能该过程可以更有效率。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>flavor</code> - 所需文件。</span>
<span>如果为空则忽略它。</span>
</dd>
<dd>
<span><code>attributes</code> - 需要支持。</span>
<span>如果为null则不使用此约束。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>阵列匹配PrintServices。</span>
<span>如果没有服务匹配,则数组为零长度。</span>
</dd>
</dl> </li>
</ul> <a name="getPrintServices--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getPrintServices</h4> <pre>public abstract <a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a>[] getPrintServices()</pre>
<div class="block">
<span>不被应用程序直接调用</span>
<span>由服务提供商实现,由该类的静态方法使用。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>该查找服务类已知的所有PrintServices的数组。</span>
<span>如果没有找到,则数组为零长度。</span>
</dd>
</dl> </li>
</ul> <a name="getMultiDocPrintServices-javax.print.DocFlavor:A-javax.print.attribute.AttributeSet-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getMultiDocPrintServices</h4> <pre>public abstract <a href="../../javax/print/MultiDocPrintService.html" title="interface in javax.print">MultiDocPrintService</a>[] getMultiDocPrintServices(<a href="../../javax/print/DocFlavor.html" title="class in javax.print">DocFlavor</a>[] flavors,
<a href="../../javax/print/attribute/AttributeSet.html" title="interface in javax.print.attribute">AttributeSet</a> attributes)</pre>
<div class="block">
<span>不被应用程序直接调用</span>
<p> <span>由服务提供商实现,由该类的静态方法使用。</span> </p>
<p> <span>找到可以肯定地确认支持属性和指定的DocFlavors组合的MultiDoc打印服务。</span> </p>
<p></p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>flavors</code> - 所需文件。</span>
<span>如果为空或为空,则忽略它。</span>
</dd>
<dd>
<span><code>attributes</code> - 需要支持。</span>
<span>如果为null则不使用此约束。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>阵列匹配PrintServices。</span>
<span>如果没有服务匹配,则数组为零长度。</span>
</dd>
</dl> </li>
</ul> <a name="getDefaultPrintService--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getDefaultPrintService</h4> <pre>public abstract <a href="../../javax/print/PrintService.html" title="interface in javax.print">PrintService</a> getDefaultPrintService()</pre>
<div class="block">
<span>不被应用程序直接调用</span>
<span>由服务提供商实现,并由打印查找服务调用</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>该查找服务的默认PrintService。</span>
<span>如果没有默认值则返回null。</span>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>