- java.lang.Object
- 
- javax.xml.crypto.dsig.TransformService
 
- 
- すべての実装されたインタフェース:
- AlgorithmMethod,- Transform,- XMLStructure
 
 public abstract class TransformService extends Object implements Transform 変換アルゴリズムおよび正規化アルゴリズム用のService Provider Interfaceです。TransformServiceの各インスタンスは、特定の変換アルゴリズムまたは正規化アルゴリズムおよびXMLメカニズム型をサポートします。TransformServiceを作成するには、staticgetInstanceメソッドの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インスタンスを操作する複数スレッドは、同期化される必要はありません。- 導入されたバージョン:
- 1.6
 
- 
- 
コンストラクタのサマリーコンストラクタ 修飾子 コンストラクタ 説明 protectedTransformService()デフォルトのコンストラクタ、サブクラスによる呼出し用。
 - 
メソッドのサマリーすべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 StringgetAlgorithm()このTransformServiceがサポートするアルゴリズムのURIを返します。static TransformServicegetInstance(String algorithm, String mechanismType)指定されたアルゴリズムURI (例:Transform.XPATH2)およびメカニズム型(例: DOM)をサポートするTransformServiceを返します。static TransformServicegetInstance(String algorithm, String mechanismType, String provider)指定したプロバイダが提供する、指定されたアルゴリズムURI (例:Transform.XPATH2)およびメカニズム型(例: DOM)をサポートするTransformServiceを返します。static TransformServicegetInstance(String algorithm, String mechanismType, Provider provider)指定したプロバイダが提供する、指定されたアルゴリズムURI (例:Transform.XPATH2)およびメカニズム型(例: DOM)をサポートするTransformServiceを返します。StringgetMechanismType()このTransformServiceがサポートするメカニズム型を返します。ProvidergetProvider()このTransformServiceのプロバイダを返します。abstract voidinit(TransformParameterSpec params)指定されたパラメータでこのTransformServiceを初期化します。abstract voidinit(XMLStructure parent, XMLCryptoContext context)指定されたパラメータおよび文書コンテキストでこのTransformServiceを初期化します。abstract voidmarshalParams(XMLStructure parent, XMLCryptoContext context)アルゴリズム固有のパラメータを整列化します。- 
クラス java.lang.Objectで宣言されたメソッドclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
インタフェース javax.xml.crypto.dsig.Transformで宣言されたメソッドgetParameterSpec, transform, transform
 - 
インタフェース javax.xml.crypto.XMLStructureで宣言されたメソッドisFeatureSupported
 
- 
 
- 
- 
- 
メソッドの詳細- 
getInstancepublic static TransformService getInstance(String algorithm, String mechanismType) throws NoSuchAlgorithmException 指定されたアルゴリズムURI (例:Transform.XPATH2)およびメカニズム型(例: DOM)をサポートするTransformServiceを返します。このメソッドは標準JCAプロバイダ検索メカニズムを使用して、目的のアルゴリズムおよび MechanismTypeサービス属性のTransformService実装を検出およびインスタンス化します。 登録済みのセキュリティProviderのリストを、最優先のProviderからトラバースします。 指定したアルゴリズムおよびメカニズム型をサポートする最初のProviderからの新しいTransformServiceオブジェクトが返されます。登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- 実装上のノート:
- JDKリファレンス実装では、jdk.security.provider.preferredSecurityプロパティを使用して、指定されたアルゴリズムの優先プロバイダの順序を決定します。 これは、Security.getProviders()によって返されるプロバイダの順序とは異なる場合があります。
- パラメータ:
- algorithm- アルゴリズムのURI
- mechanismType- XML処理メカニズムおよび表現の型
- 戻り値:
- 新しいTransformService
- 例外:
- NullPointerException-- algorithmまたは- mechanismTypeが- nullの場合
- NoSuchAlgorithmException- 指定したアルゴリズムやメカニズム型用の- TransformService実装をサポートする- Providerが存在しない場合
- 関連項目:
- Provider
 
 - 
getInstancepublic static TransformService getInstance(String algorithm, String mechanismType, Provider provider) throws NoSuchAlgorithmException 指定したプロバイダが提供する、指定されたアルゴリズムURI (例:Transform.XPATH2)およびメカニズム型(例: DOM)をサポートするTransformServiceを返します。 指定したProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。- パラメータ:
- algorithm- アルゴリズムのURI
- mechanismType- XML処理メカニズムおよび表現の型
- provider-- Providerオブジェクト
- 戻り値:
- 新しいTransformService
- 例外:
- NullPointerException-- provider、- algorithm、または- mechanismTypeが- nullの場合
- NoSuchAlgorithmException- 指定したアルゴリズムやメカニズム型用の- TransformService実装が、指定した- Providerオブジェクトで使用できない場合
- 関連項目:
- Provider
 
 - 
getInstancepublic static TransformService getInstance(String algorithm, String mechanismType, String provider) throws NoSuchAlgorithmException, NoSuchProviderException 指定したプロバイダが提供する、指定されたアルゴリズムURI (例:Transform.XPATH2)およびメカニズム型(例: DOM)をサポートするTransformServiceを返します。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- パラメータ:
- algorithm- アルゴリズムのURI
- mechanismType- XML処理メカニズムおよび表現の型
- provider- プロバイダ名の文字列名
- 戻り値:
- 新しいTransformService
- 例外:
- NoSuchProviderException- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合
- NullPointerException-- provider、- mechanismType、または- algorithmが- nullの場合
- NoSuchAlgorithmException- 指定したアルゴリズムやメカニズム型用の- TransformService実装が指定したプロバイダで使用できない場合
- 関連項目:
- Provider
 
 - 
getMechanismTypepublic final String getMechanismType() このTransformServiceがサポートするメカニズム型を返します。- 戻り値:
- メカニズム型
 
 - 
getAlgorithmpublic final String getAlgorithm() このTransformServiceがサポートするアルゴリズムのURIを返します。- 定義:
- getAlgorithm、インタフェース- AlgorithmMethod
- 戻り値:
- アルゴリズムURI
 
 - 
getProviderpublic final Provider getProvider() このTransformServiceのプロバイダを返します。- 戻り値:
- プロバイダ
 
 - 
initpublic abstract void init(TransformParameterSpec params) throws InvalidAlgorithmParameterException 指定されたパラメータでこのTransformServiceを初期化します。XML形式の中にパラメータが存在する場合、 init(XMLStructure, XMLCryptoContext)メソッドを使用してTransformServiceを初期化する必要があります。- パラメータ:
- params- アルゴリズム・パラメータ。必須でない場合またはオプションの場合は- nullも可
- 例外:
- InvalidAlgorithmParameterException- 指定されたパラメータがこのアルゴリズムには無効な場合
 
 - 
marshalParamspublic abstract void marshalParams(XMLStructure parent, XMLCryptoContext context) throws MarshalException アルゴリズム固有のパラメータを整列化します。 整列化するパラメータがない場合、このメソッドは例外をスローせずに返します。- パラメータ:
- parent- 整列化されたパラメータが追加される親ノードを格納する、メカニズム固有の構造
- context- 追加のコンテキストを格納する- XMLCryptoContext。該当しない場合は- nullも可
- 例外:
- ClassCastException-- parentまたは- contextの型がこの- TransformServiceと互換性がない場合
- NullPointerException-- parentが- nullである場合
- MarshalException- パラメータを整列化できない場合
 
 - 
initpublic abstract void init(XMLStructure parent, XMLCryptoContext context) throws InvalidAlgorithmParameterException 指定されたパラメータおよび文書コンテキストでこのTransformServiceを初期化します。- パラメータ:
- parent- 親構造を格納するメカニズム固有の構造
- context- 追加のコンテキストを格納する- XMLCryptoContext。該当しない場合は- nullも可
- 例外:
- ClassCastException-- parentまたは- contextの型がこの- TransformServiceと互換性がない場合
- NullPointerException-- parentが- nullである場合
- InvalidAlgorithmParameterException- 指定されたパラメータがこのアルゴリズムには無効な場合
 
 
- 
 
-