public abstract class TransformService extends Object implements Transform
TransformServiceの各インスタンスは、特定の変換アルゴリズムまたは正規化アルゴリズムおよびXMLメカニズム型をサポートします。 TransformServiceを作成するには、static getInstanceメソッドの1つを呼び出し、目的のアルゴリズムURIおよびXMLメカニズム型を渡します。たとえば: 
 
 TransformService ts = TransformService.getInstance(Transform.XPATH2, "DOM"); TransformService実装は、Providerメカニズムを使用して登録およびロードされます。 各TransformServiceのサービス・プロバイダ実装は、サポートするXMLメカニズム型を特定するMechanismTypeサービス属性を含む必要があります。 属性が指定されない場合、"DOM"であると想定されます。 たとえば、XPath Filter 2 TransformおよびDOMメカニズムをサポートするサービス・プロバイダはProviderサブクラスで次のように指定されます。 
 
     put("TransformService." + Transform.XPATH2,
         "org.example.XPath2TransformService");
     put("TransformService." + Transform.XPATH2 + " MechanismType", "DOM");
 
 DOMメカニズム型がサポートするTransformService実装は、APIの概要の「DOMメカニズム要件」セクションで定義されているDOM相互運用性の要件に従う必要があります。 標準のメカニズム型のリストについては、APIの概要の「サービス・プロバイダ」セクションを参照してください。 
 
 TransformServiceが作成されると、それを使用してTransformオブジェクトまたはCanonicalizationMethodオブジェクトを処理できます。 XML形式の中にTransformまたはCanonicalizationMethodが存在する場合(たとえば、既存のXMLSignatureを検証するとき)、init(XMLStructure, XMLCryptoContext)メソッドを最初に呼び出して変換を初期化し、文書コンテキストを提供する必要があります(パラメータがない場合でも)。 あるいは、TransformまたはCanonicalizationMethodがゼロから作成される場合、init(TransformParameterSpec)メソッドが呼び出されて変換がパラメータ付きで初期化され、marshalParamsメソッドが呼び出されてXMLへのパラメータが整列化され、文書コンテキストでの変換が提供されます。 最後に、transformメソッドが呼び出されて変換を実行します。 
 
並行アクセス
このクラスのstaticメソッドは、スレッド・セーフであることが保証されています。 このクラスで定義されているstaticメソッドは、悪影響を与えることなく、複数スレッドが並行して呼び出すことができます。
しかしこのことは、このクラスで定義されている非staticメソッドには当てはまりません。 特定のプロバイダで特に説明がないかぎり、単一のTransformServiceインスタンスに並行してアクセスする必要のある複数スレッドは、スレッド間で同期を取り、必要に応じてロックしなければいけません。 異なるTransformServiceインスタンスを操作する複数スレッドは、同期化される必要はありません。 
| 修飾子 | コンストラクタ | 説明 | 
|---|---|---|
| protected  | TransformService() | デフォルトのコンストラクタ、サブクラスによる呼出し用。 | 
| 修飾子と型 | メソッド | 説明 | 
|---|---|---|
| String | getAlgorithm() | この TransformServiceがサポートするアルゴリズムのURIを返します。 | 
| static TransformService | getInstance(String algorithm, String mechanismType) | 指定されたアルゴリズムURI (例:  Transform.XPATH2)およびメカニズム型(例: DOM)をサポートするTransformServiceを返します。 | 
| static TransformService | getInstance(String algorithm, String mechanismType, Provider provider) | 指定したプロバイダが提供する、指定されたアルゴリズムURI (例:  Transform.XPATH2)およびメカニズム型(例: DOM)をサポートするTransformServiceを返します。 | 
| static TransformService | getInstance(String algorithm, String mechanismType, String provider) | 指定したプロバイダが提供する、指定されたアルゴリズムURI (例:  Transform.XPATH2)およびメカニズム型(例: DOM)をサポートするTransformServiceを返します。 | 
| String | getMechanismType() | この TransformServiceがサポートするメカニズム型を返します。 | 
| Provider | getProvider() | この TransformServiceのプロバイダを返します。 | 
| abstract void | init(TransformParameterSpec params) | 指定されたパラメータでこの TransformServiceを初期化します。 | 
| abstract void | init(XMLStructure parent, XMLCryptoContext context) | 指定されたパラメータおよび文書コンテキストでこの TransformServiceを初期化します。 | 
| abstract void | marshalParams(XMLStructure parent, XMLCryptoContext context) | アルゴリズム固有のパラメータを整列化します。 | 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetParameterSpec, transform, transformisFeatureSupportedpublic static TransformService getInstance(String algorithm, String mechanismType) throws NoSuchAlgorithmException
Transform.XPATH2)およびメカニズム型(例: DOM)をサポートするTransformServiceを返します。
 このメソッドは標準JCAプロバイダ検索メカニズムを使用して、目的のアルゴリズムおよびMechanismTypeサービス属性のTransformService実装を検出およびインスタンス化します。 登録済みのセキュリティProviderのリストを、最優先のProviderからトラバースします。 指定したアルゴリズムおよびメカニズム型をサポートする最初のProviderからの新しいTransformServiceオブジェクトが返されます。 
 
 登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。
algorithm - アルゴリズムのURImechanismType - XML処理メカニズムおよび表現の型TransformServiceNullPointerException - algorithmまたはmechanismTypeがnullの場合NoSuchAlgorithmException - 指定したアルゴリズムやメカニズム型用のTransformService実装をサポートするProviderが存在しない場合Providerpublic static TransformService getInstance(String algorithm, String mechanismType, Provider provider) throws NoSuchAlgorithmException
Transform.XPATH2)およびメカニズム型(例: DOM)をサポートするTransformServiceを返します。 指定したProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。 algorithm - アルゴリズムのURImechanismType - XML処理メカニズムおよび表現の型provider - ProviderオブジェクトTransformServiceNullPointerException - provider、algorithm、またはmechanismTypeがnullの場合NoSuchAlgorithmException - 指定したアルゴリズムやメカニズム型用のTransformService実装が、指定したProviderオブジェクトで使用できない場合Providerpublic static TransformService getInstance(String algorithm, String mechanismType, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
Transform.XPATH2)およびメカニズム型(例: DOM)をサポートするTransformServiceを返します。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。 
 登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。
algorithm - アルゴリズムのURImechanismType - XML処理メカニズムおよび表現の型provider - プロバイダ名の文字列名TransformServiceNoSuchProviderException - 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合NullPointerException - provider、mechanismType、またはalgorithmがnullの場合NoSuchAlgorithmException - 指定したアルゴリズムやメカニズム型用のTransformService実装が指定したプロバイダで使用できない場合Providerpublic final String getMechanismType()
TransformServiceがサポートするメカニズム型を返します。public final String getAlgorithm()
TransformServiceがサポートするアルゴリズムのURIを返します。getAlgorithm、インタフェースAlgorithmMethodpublic final Provider getProvider()
TransformServiceのプロバイダを返します。public abstract void init(TransformParameterSpec params) throws InvalidAlgorithmParameterException
TransformServiceを初期化します。
 XML形式の中にパラメータが存在する場合、init(XMLStructure, XMLCryptoContext)メソッドを使用してTransformServiceを初期化する必要があります。
params - アルゴリズム・パラメータ。必須でない場合またはオプションの場合はnullも可InvalidAlgorithmParameterException - 指定されたパラメータがこのアルゴリズムには無効な場合public abstract void marshalParams(XMLStructure parent, XMLCryptoContext context) throws MarshalException
parent - 整列化されたパラメータが追加される親ノードを格納する、メカニズム固有の構造context - 追加のコンテキストを格納するXMLCryptoContext。該当しない場合はnullも可ClassCastException - parentまたはcontextの型がこのTransformServiceと互換性がない場合NullPointerException - parentがnullである場合MarshalException - パラメータを整列化できない場合public abstract void init(XMLStructure parent, XMLCryptoContext context) throws InvalidAlgorithmParameterException
TransformServiceを初期化します。parent - 親構造を格納するメカニズム固有の構造context - 追加のコンテキストを格納するXMLCryptoContext。該当しない場合はnullも可ClassCastException - parentまたはcontextの型がこのTransformServiceと互換性がない場合NullPointerException - parentがnullである場合InvalidAlgorithmParameterException - 指定されたパラメータがこのアルゴリズムには無効な場合 バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。 
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved.  Use is subject to license terms.  Documentation Redistribution Policyも参照してください。