uTools-Manuals/docs/java/javax/xml/crypto/dsig/TransformService.html

548 lines
32 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">
compact3
</div>
<div class="subTitle">
javax.xml.crypto.dsig
</div>
<h2 class="title" title="Class TransformService">Class TransformService</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.xml.crypto.dsig.TransformService</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Implemented Interfaces:
</dt>
<dd>
<span><a href="../../../../javax/xml/crypto/AlgorithmMethod.html" title="javax.xml.crypto中的接口">AlgorithmMethod</a> <a href="../../../../javax/xml/crypto/dsig/Transform.html" title="javax.xml.crypto.dsig中的接口">Transform</a> <a href="../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口">XMLStructure</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">TransformService</span>
extends <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a>
implements <a href="../../../../javax/xml/crypto/dsig/Transform.html" title="interface in javax.xml.crypto.dsig">Transform</a></pre>
<div class="block">
<span>用于变换和规范化算法的服务提供程序接口。</span>
<p> <span><code>TransformService</code>每个实例<code>TransformService</code>支持特定的转换或规范化算法和XML机制类型。</span> <span>要创建一个<code>TransformService</code> ,请调用静态<a href="../../../../javax/xml/crypto/dsig/TransformService.html#getInstance-java.lang.String-java.lang.String-"><code>getInstance</code></a>方法之一传递算法URI和XML机制类型例如</span> </p>
<blockquote>
<span><code> TransformService ts = TransformService.getInstance(Transform.XPATH2, "DOM"); </code></span>
</blockquote>
<p> <span><code>TransformService</code>机制注册和加载<a href="../../../../java/security/Provider.html" title="java.security中的类">TransformService</a>实现。</span> <span>每个<code>TransformService</code>服务提供商实现应包括一个<code>MechanismType</code>服务属性用于标识其支持的XML机制类型。</span> <span>如果未指定属性则假定为“DOM”。</span> <span>例如支持XPath Filter 2 Transform和DOM机制的服务提供商将在<code>Provider</code>子类中<code>Provider</code>为:</span> </p>
<pre> <span>put("TransformService." + Transform.XPATH2,
"org.example.XPath2TransformService");
put("TransformService." + Transform.XPATH2 + " MechanismType", "DOM");</span> </pre>
<span><code>TransformService</code>支持DOM机制类型的实现必须遵守API概述的<a href="../../../../../technotes/guides/security/xmldsig/overview.html#DOM Mechanism Requirements">DOM Mechanism Requirements</a>部分中定义的DOM互操作性要求。</span>
<span>有关标准机制类型的列表请参阅API概述的<a href="../../../../../technotes/guides/security/xmldsig/overview.html#Service Provider">Service Providers</a>部分。</span>
<p> <span>一旦创建了一个<code>TransformService</code> ,它可以用于处理<code>Transform</code><code>CanonicalizationMethod</code>对象。</span> <span>如果<code>Transform</code><code>CanonicalizationMethod</code>以XML格式存在例如当验证现有的<code>XMLSignature</code> )时,必须首先调用<a href="../../../../javax/xml/crypto/dsig/TransformService.html#init-javax.xml.crypto.XMLStructure-javax.xml.crypto.XMLCryptoContext-"><code>init(XMLStructure, XMLCryptoContext)</code></a>方法来初始化转换并提供文档上下文(即使没有参数)。</span> <span>或者,如果从头开始创建<code>Transform</code><code>CanonicalizationMethod</code> ,则<a href="../../../../javax/xml/crypto/dsig/TransformService.html#init-javax.xml.crypto.dsig.spec.TransformParameterSpec-">调用<code>init(TransformParameterSpec)</code></a>方法以使用参数初始化变换,并调用<a href="../../../../javax/xml/crypto/dsig/TransformService.html#marshalParams-javax.xml.crypto.XMLStructure-javax.xml.crypto.XMLCryptoContext-"><code>marshalParams</code></a>方法将参数编组为XML并提供带文档上下文的转换。</span> <span>最后,调用<a href="../../../../javax/xml/crypto/dsig/Transform.html#transform-javax.xml.crypto.Data-javax.xml.crypto.XMLCryptoContext-"><code>transform</code></a>方法来执行转换。</span> </p>
<p> <span><b>并发访问</b></span> </p>
<p> <span>该类的静态方法保证线程安全。</span> <span>多个线程可以同时调用此类中定义的静态方法,而不会产生不良影响。</span> </p>
<p> <span>但是,对于此类定义的非静态方法,这不是真的。</span> <span>除非特定提供者另有说明,否则需要同时访问单个<code>TransformService</code>实例的线程应在其间同步并提供必要的锁定。</span> <span>多个线程每个操作不同的<code>TransformService</code>实例不需要同步。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.javax.xml.crypto.dsig.Transform">
<!-- --> </a> <h3>Fields inherited from interface javax.xml.crypto.dsig.<a href="../../../../javax/xml/crypto/dsig/Transform.html" title="interface in javax.xml.crypto.dsig">Transform</a></h3> <code><a href="../../../../javax/xml/crypto/dsig/Transform.html#BASE64">BASE64</a>, <a href="../../../../javax/xml/crypto/dsig/Transform.html#ENVELOPED">ENVELOPED</a>, <a href="../../../../javax/xml/crypto/dsig/Transform.html#XPATH">XPATH</a>, <a href="../../../../javax/xml/crypto/dsig/Transform.html#XPATH2">XPATH2</a>, <a href="../../../../javax/xml/crypto/dsig/Transform.html#XSLT">XSLT</a></code></li>
</ul> </li>
</ul>
<!-- ======== 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="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/TransformService.html#TransformService--">TransformService</a></span>()</code>
<div class="block">
默认构造函数,用于由子类调用。
</div> </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><a href="../../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/TransformService.html#getAlgorithm--">getAlgorithm</a></span>()</code>
<div class="block">
返回此
<code>TransformService</code>支持的算法的URI。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>static <a href="../../../../javax/xml/crypto/dsig/TransformService.html" title="class in javax.xml.crypto.dsig">TransformService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/TransformService.html#getInstance-java.lang.String-java.lang.String-">getInstance</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType)</code>
<div class="block">
返回一个
<code>TransformService</code>支持指定算法URI例如
<a href="../../../../javax/xml/crypto/dsig/Transform.html#XPATH2"><code>Transform.XPATH2</code></a> 和机制类型比如DOM
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>static <a href="../../../../javax/xml/crypto/dsig/TransformService.html" title="class in javax.xml.crypto.dsig">TransformService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/TransformService.html#getInstance-java.lang.String-java.lang.String-java.security.Provider-">getInstance</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType, <a href="../../../../java/security/Provider.html" title="class in java.security">Provider</a> provider)</code>
<div class="block">
返回支持由指定提供
<code>TransformService</code>提供的指定算法URI例如
<a href="../../../../javax/xml/crypto/dsig/Transform.html#XPATH2"><code>Transform.XPATH2</code></a> 和机制类型例如DOM的TransformService。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>static <a href="../../../../javax/xml/crypto/dsig/TransformService.html" title="class in javax.xml.crypto.dsig">TransformService</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/TransformService.html#getInstance-java.lang.String-java.lang.String-java.lang.String-">getInstance</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> provider)</code>
<div class="block">
返回支持由指定提供
<code>TransformService</code>提供的指定算法URI例如
<a href="../../../../javax/xml/crypto/dsig/Transform.html#XPATH2"><code>Transform.XPATH2</code></a> 和机制类型例如DOM的TransformService。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/TransformService.html#getMechanismType--">getMechanismType</a></span>()</code>
<div class="block">
返回此支持的机制类型
<code>TransformService</code>
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="../../../../java/security/Provider.html" title="class in java.security">Provider</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/TransformService.html#getProvider--">getProvider</a></span>()</code>
<div class="block">
返回此
<code>TransformService</code>的提供者。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/TransformService.html#init-javax.xml.crypto.dsig.spec.TransformParameterSpec-">init</a></span>(<a href="../../../../javax/xml/crypto/dsig/spec/TransformParameterSpec.html" title="interface in javax.xml.crypto.dsig.spec">TransformParameterSpec</a> params)</code>
<div class="block">
初始化此
<code>TransformService</code>使用指定的参数。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/TransformService.html#init-javax.xml.crypto.XMLStructure-javax.xml.crypto.XMLCryptoContext-">init</a></span>(<a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a> parent, <a href="../../../../javax/xml/crypto/XMLCryptoContext.html" title="interface in javax.xml.crypto">XMLCryptoContext</a> context)</code>
<div class="block">
使用指定的参数和文档上下文初始化此
<code>TransformService</code>
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>abstract void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/TransformService.html#marshalParams-javax.xml.crypto.XMLStructure-javax.xml.crypto.XMLCryptoContext-">marshalParams</a></span>(<a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a> parent, <a href="../../../../javax/xml/crypto/XMLCryptoContext.html" title="interface in javax.xml.crypto">XMLCryptoContext</a> context)</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>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.xml.crypto.dsig.Transform">
<!-- --> </a> <h3>Methods inherited from interface javax.xml.crypto.dsig.<a href="../../../../javax/xml/crypto/dsig/Transform.html" title="interface in javax.xml.crypto.dsig">Transform</a></h3> <code><a href="../../../../javax/xml/crypto/dsig/Transform.html#getParameterSpec--">getParameterSpec</a>, <a href="../../../../javax/xml/crypto/dsig/Transform.html#transform-javax.xml.crypto.Data-javax.xml.crypto.XMLCryptoContext-">transform</a>, <a href="../../../../javax/xml/crypto/dsig/Transform.html#transform-javax.xml.crypto.Data-javax.xml.crypto.XMLCryptoContext-java.io.OutputStream-">transform</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.xml.crypto.XMLStructure">
<!-- --> </a> <h3>Methods inherited from interface javax.xml.crypto.<a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a></h3> <code><a href="../../../../javax/xml/crypto/XMLStructure.html#isFeatureSupported-java.lang.String-">isFeatureSupported</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="TransformService--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>TransformService</h4> <pre>protected TransformService()</pre>
<div class="block">
默认构造函数,用于由子类调用。
</div> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getInstance-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getInstance</h4> <pre>public static <a href="../../../../javax/xml/crypto/dsig/TransformService.html" title="class in javax.xml.crypto.dsig">TransformService</a> getInstance(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType)
throws <a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></pre>
<div class="block">
<span>返回一个<code>TransformService</code>支持指定算法URI例如 <a href="../../../../javax/xml/crypto/dsig/Transform.html#XPATH2"><code>Transform.XPATH2</code></a> 和机制类型比如DOM</span>
<p> <span>此方法使用标准的JCA提供查找机制来查找并实例化<code>TransformService</code>实现期望的算法和<code>MechanismType</code>服务属性。</span> <span>它通过注册安全性列表<code>Provider</code> s从最优选的<code>Provider</code></span> <span>返回支持指定算法和机制类型的第一个<code>Provider</code>新的<code>TransformService</code>对象。</span> </p>
<p> <span>请注意,注册提供商的列表可以通过<a href="../../../../java/security/Security.html#getProviders--"><code>Security.getProviders()</code></a>方法<a href="../../../../java/security/Security.html#getProviders--">检索</a></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>algorithm</code> -
<code>algorithm</code>的URI
</dd>
<dd>
<code>mechanismType</code> - XML处理机制和表示的类型
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个新的
<code>TransformService</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>algorithm</code>
<code>mechanismType</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> -如果没有
<code>Provider</code>支持
<code>TransformService</code>实现指定算法和机制类型
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../../java/security/Provider.html" title="java.security中的类"><code>Provider</code></a></span>
</dd>
</dl> </li>
</ul> <a name="getInstance-java.lang.String-java.lang.String-java.security.Provider-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getInstance</h4> <pre>public static <a href="../../../../javax/xml/crypto/dsig/TransformService.html" title="class in javax.xml.crypto.dsig">TransformService</a> getInstance(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType,
<a href="../../../../java/security/Provider.html" title="class in java.security">Provider</a> provider)
throws <a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></pre>
<div class="block">
<span>返回支持由指定提供<code>TransformService</code>提供的指定算法URI例如 <a href="../../../../javax/xml/crypto/dsig/Transform.html#XPATH2"><code>Transform.XPATH2</code></a> 和机制类型例如DOM的TransformService。</span>
<span>请注意,指定的<code>Provider</code>对象不必在提供者列表中注册。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>algorithm</code> -
<code>algorithm</code>的URI
</dd>
<dd>
<code>mechanismType</code> - XML处理机制和表示的类型
</dd>
<dd>
<code>provider</code> -
<code>Provider</code>对象
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个新的
<code>TransformService</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> -如果
<code>provider</code>
<code>algorithm</code> ,或
<code>mechanismType</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> -如果
<code>TransformService</code>执行指定算法和机制类型不是从指定
<code>Provider</code>对象
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../../java/security/Provider.html" title="java.security中的类"><code>Provider</code></a></span>
</dd>
</dl> </li>
</ul> <a name="getInstance-java.lang.String-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getInstance</h4> <pre>public static <a href="../../../../javax/xml/crypto/dsig/TransformService.html" title="class in javax.xml.crypto.dsig">TransformService</a> getInstance(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> provider)
throws <a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a>,
<a href="../../../../java/security/NoSuchProviderException.html" title="class in java.security">NoSuchProviderException</a></pre>
<div class="block">
<span>返回支持由指定提供<code>TransformService</code>提供的指定算法URI例如 <a href="../../../../javax/xml/crypto/dsig/Transform.html#XPATH2"><code>Transform.XPATH2</code></a> 和机制类型例如DOM的TransformService。</span>
<span>指定的提供者必须在安全提供程序列表中注册。</span>
<p> <span>请注意,注册提供商的列表可以通过<a href="../../../../java/security/Security.html#getProviders--"><code>Security.getProviders()</code></a>方法<a href="../../../../java/security/Security.html#getProviders--">检索</a></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>algorithm</code> -
<code>algorithm</code>的URI
</dd>
<dd>
<code>mechanismType</code> - XML处理机制和表示的类型
</dd>
<dd>
<code>provider</code> - 提供者的字符串名称
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个新的
<code>TransformService</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/security/NoSuchProviderException.html" title="class in java.security">NoSuchProviderException</a></code> - 如果指定的提供程序未在安全提供程序列表中注册
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> -如果
<code>provider</code>
<code>mechanismType</code> ,或
<code>algorithm</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> -如果
<code>TransformService</code>实现指定算法和机制类型是不能从指定的供应商
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../../java/security/Provider.html" title="java.security中的类"><code>Provider</code></a></span>
</dd>
</dl> </li>
</ul> <a name="getMechanismType--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getMechanismType</h4> <pre>public final <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> getMechanismType()</pre>
<div class="block">
返回此支持的机制类型
<code>TransformService</code>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
机制类型
</dd>
</dl> </li>
</ul> <a name="getAlgorithm--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getAlgorithm</h4> <pre>public final <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> getAlgorithm()</pre>
<div class="block">
返回此
<code>TransformService</code>支持的算法的URI。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">Specified by:</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/crypto/AlgorithmMethod.html#getAlgorithm--">getAlgorithm</a></code>在界面
<code><a href="../../../../javax/xml/crypto/AlgorithmMethod.html" title="interface in javax.xml.crypto">AlgorithmMethod</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
算法URI
</dd>
</dl> </li>
</ul> <a name="getProvider--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getProvider</h4> <pre>public final <a href="../../../../java/security/Provider.html" title="class in java.security">Provider</a> getProvider()</pre>
<div class="block">
返回此
<code>TransformService</code>的提供者。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
提供者
</dd>
</dl> </li>
</ul> <a name="init-javax.xml.crypto.dsig.spec.TransformParameterSpec-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>init</h4> <pre>public abstract void init(<a href="../../../../javax/xml/crypto/dsig/spec/TransformParameterSpec.html" title="interface in javax.xml.crypto.dsig.spec">TransformParameterSpec</a> params)
throws <a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></pre>
<div class="block">
<span>初始化此<code>TransformService</code>使用指定的参数。</span>
<p> <span>如果以XML形式存在参数则应使用<a href="../../../../javax/xml/crypto/dsig/TransformService.html#init-javax.xml.crypto.XMLStructure-javax.xml.crypto.XMLCryptoContext-"><code>init(XMLStructure, XMLCryptoContext)</code></a>方法初始化<code>TransformService</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>params</code> - 算法参数(如果不需要或可选,可以是
<code>null</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></code> - 如果指定的参数对于该算法无效
</dd>
</dl> </li>
</ul> <a name="marshalParams-javax.xml.crypto.XMLStructure-javax.xml.crypto.XMLCryptoContext-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>marshalParams</h4> <pre>public abstract void marshalParams(<a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a> parent,
<a href="../../../../javax/xml/crypto/XMLCryptoContext.html" title="interface in javax.xml.crypto">XMLCryptoContext</a> context)
throws <a href="../../../../javax/xml/crypto/MarshalException.html" title="class in javax.xml.crypto">MarshalException</a></pre>
<div class="block">
<span>协调算法特定的参数。</span>
<span>如果没有要编组的参数,则此方法返回而不会抛出异常。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>parent</code> - 一个机制特定的结构,包含编组参数应附加到的父节点
</dd>
<dd>
<code>context</code> -所述
<code>XMLCryptoContext</code>含有附加上下文(可以是
<code>null</code>如果不适用)
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果
<code>parent</code>
<code>context</code>的类型与此
<code>TransformService</code>
<code>TransformService</code>
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>parent</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../javax/xml/crypto/MarshalException.html" title="class in javax.xml.crypto">MarshalException</a></code> - 如果参数无法编组
</dd>
</dl> </li>
</ul> <a name="init-javax.xml.crypto.XMLStructure-javax.xml.crypto.XMLCryptoContext-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>init</h4> <pre>public abstract void init(<a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a> parent,
<a href="../../../../javax/xml/crypto/XMLCryptoContext.html" title="interface in javax.xml.crypto">XMLCryptoContext</a> context)
throws <a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></pre>
<div class="block">
使用指定的参数和文档上下文初始化此
<code>TransformService</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>parent</code> - 包含父结构的机制特定结构
</dd>
<dd>
<code>context</code> -所述
<code>XMLCryptoContext</code>含有附加上下文(可以是
<code>null</code>如果不适用)
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果
<code>parent</code>
<code>context</code>的类型与此
<code>TransformService</code>
<code>TransformService</code>
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>parent</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></code> - 如果指定的参数对于该算法无效
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>