|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
java.lang.Objectjavax.xml.crypto.dsig.TransformService
public abstract class TransformService
변환 알고리즘 및 정규화 알고리즘용의 Service Provider Interface 입니다.
TransformService 의 각 인스턴스는, 특정의 변환 알고리즘 또는 정규화 알고리즘 및 XML 기구형을 지원합니다. TransformService 를 작성하려면 , static getInstance 메소드를 호출해, 목적의 알고리즘 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 메소드는, thread 세이프인 것이 보증되고 있습니다. 이 클래스에서 정의되고 있는 static 메소드는, 악영향을 주는 일 없이, 복수 thread가 병행해 호출할 수가 있습니다.
그러나 이것은, 이 클래스에서 정의되고 있는 비 static 메소드에는 들어맞지 않습니다. 특정의 프로바이더로 특히 설명이 없는 한, 단일 TransformService 인스턴스에 병행해 액세스 할 필요가 있는 복수 thread는, thread간에 동기를 잡아, 필요에 따라서 잠그지 않으면 안됩니다. 다른 TransformService 인스턴스를 조작하는 복수 thread간으로는, 동기를 잡을 필요는 없습니다.
| 필드의 개요 |
|---|
| 인터페이스 javax.xml.crypto.dsig. Transform 로부터 상속된 필드 |
|---|
BASE64 , ENVELOPED , XPATH , XPATH2 , XSLT |
| 생성자 의 개요 | |
|---|---|
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)
알고리즘 고유의 파라미터를 정렬화합니다. |
| 클래스 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 |
| 생성자 의 상세 |
|---|
protected TransformService()
| 메소드의 상세 |
|---|
public 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 처리 기구 및 표현의
형
TransformService
NullPointerException - algorithm 또는
mechanismType 가 null 의 경우
NoSuchAlgorithmException - 지정한 알고리즘 및 기구형용의 TransformService
구현을 지원하는 Provider
하지만 없는 경우Provider
public static TransformService getInstance(String algorithm,
String mechanismType,
Provider provider)
throws NoSuchAlgorithmException
Transform.XPATH2 ) 및 기구형 (예: "DOM")을 지원하는 TransformService 를 돌려줍니다. 지정한 Provider 객체는, 프로바이더 리스트에 등록할 필요는 없습니다.
algorithm - 알고리즘의 URImechanismType - XML 처리 기구 및 표현의
형태provider - Provider 객체
TransformService
NullPointerException - provider,
algorithm, 또는 mechanismType 가
null 의 경우
NoSuchAlgorithmException - 지정한 알고리즘 및 기구형용의 TransformService
구현이, 지정한 Provider 객체로부터
이용할 수 없는 경우Provider
public static TransformService getInstance(String algorithm,
String mechanismType,
String provider)
throws NoSuchAlgorithmException ,
NoSuchProviderException
Transform.XPATH2 ) 및 기구형 (예: "DOM")을 지원하는 TransformService 를 돌려줍니다. 지정한 프로바이더는, 시큐리티 프로바이더 리스트에 등록할 필요가 있습니다.
등록이 끝난 프로바이더의 리스트는,Security.getProviders() 메소드 경유로 취득할 수 있습니다.
algorithm - 알고리즘의 URImechanismType - XML 처리 기구 및 표현의
형태provider - 프로바이더명의 캐릭터 라인명
TransformService
NoSuchProviderException - 지정된 프로바이더가
시큐리티 프로바이더 리스트에 등록되지 않은 경우
NullPointerException - provider,
mechanismType, 또는 algorithm 가
null 의 경우
NoSuchAlgorithmException - 지정한 알고리즘 및 기구형용의 TransformService
구현이, 지정한 프로바이더로부터
이용할 수 없는 경우Provider public final String getMechanismType()
TransformService 가 지원하는 기구형을 돌려줍니다.
public final String getAlgorithm()
TransformService 가 지원하는 알고리즘의 URI 를 돌려줍니다.
AlgorithmMethod 내의 getAlgorithm public 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 - 지정된 파라미터가
이 알고리즘에는 무효인 경우
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.