public abstract class TransformService extends Object implements Transform
Каждый экземпляр TransformService
поддерживает определенное преобразование или алгоритм канонизации и тип механизма XML. Создать a TransformService
, вызовите одни из помех getInstance
методы, передающие в URI алгоритма и требуемом типе механизма XML, например:
TransformService ts = TransformService.getInstance(Transform.XPATH2, "DOM");
TransformService
реализации регистрируются и загрузили использование Provider
механизм. Каждый TransformService
реализация поставщика услуг должна включать a MechanismType
атрибут службы, который идентифицирует тип механизма XML, который он поддерживает. Если атрибут не определяется, "ДОМ" принимается. Например, поставщик услуг, который поддерживает Фильтр XPath 2, Преобразовывает, и механизм ДОМА был бы определен в Provider
подкласс как:
put("TransformService." + Transform.XPATH2, "org.example.XPath2TransformService"); put("TransformService." + Transform.XPATH2 + " MechanismType", "DOM");
TransformService
реализации, которые поддерживают тип механизма ДОМА, должны соблюдать требования функциональной совместимости ДОМА, определенные в разделе Требований ДОМА Мечанисма краткого обзора API. См. раздел Поставщиков услуг краткого обзора API для списка стандартных типов механизма. Однажды a TransformService
был создан, это может использоваться, чтобы обработать Transform
или CanonicalizationMethod
объекты. Если Transform
или CanonicalizationMethod
существует в форме XML (например, проверяя существующего XMLSignature
), init(XMLStructure, XMLCryptoContext)
метод нужно сначала вызвать, чтобы инициализировать преобразование и обеспечить контекст документа (даже если нет никаких параметров). Альтернативно, если Transform
или CanonicalizationMethod
создается с нуля, init(TransformParameterSpec)
метод вызывают, чтобы инициализировать преобразование с параметрами и marshalParams
метод вызывают, чтобы упорядочить параметры к XML и предоставить преобразованию контекст документа. Наконец, transform
метод вызывают, чтобы выполнить преобразование.
Параллельный Доступ
Статические методы этого class, как гарантируют, будут ориентированы на многопотоковое исполнение. Многократные потоки могут одновременно вызвать статические методы, определенные в этом class без вредных воздействий.
Однако, это не истина для нестатических методов, определенных этим class. Если иначе не задокументировано определенным провайдером, потоки, которые должны получить доступ к синглу TransformService
экземпляр одновременно должен синхронизироваться среди себя и обеспечить необходимую блокировку. Многократные потоки каждое управление различным TransformService
экземпляр не должен синхронизироваться.
Модификатор | Конструктор и Описание |
---|---|
protected |
TransformService()
Конструктор по умолчанию, для вызова подклассами.
|
Модификатор и Тип | Метод и Описание |
---|---|
Строка |
getAlgorithm()
Возвращает URI алгоритма, поддерживаемого этим
TransformService . |
static TransformService |
getInstance(String algorithm, String mechanismType)
Возвраты a
TransformService это поддерживает указанный URI алгоритма (исключая: Transform.XPATH2 ) и тип механизма (исключая: ДОМ). |
static TransformService |
getInstance(String algorithm, String mechanismType, Provider provider)
Возвраты a
TransformService это поддерживает указанный URI алгоритма (исключая: Transform.XPATH2 ) и тип механизма (исключая: ДОМ) как предоставлено указанным провайдером. |
static TransformService |
getInstance(String algorithm, String mechanismType, String provider)
Возвраты a
TransformService это поддерживает указанный URI алгоритма (исключая: Transform.XPATH2 ) и тип механизма (исключая: ДОМ) как предоставлено указанным провайдером. |
Строка |
getMechanismType()
Возвращает тип механизма, поддерживаемый этим
TransformService . |
Провайдер |
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, wait
getParameterSpec, transform, transform
isFeatureSupported
protected TransformService()
public static TransformService getInstance(String algorithm, String mechanismType) throws NoSuchAlgorithmException
TransformService
это поддерживает указанный URI алгоритма (исключая: Transform.XPATH2
) и тип механизма (исключая: ДОМ). Этот метод использует стандартный механизм поиска провайдера JCA, чтобы определить местоположение и инстанцировать a TransformService
реализация требуемого алгоритма и MechanismType
атрибут службы. Это пересекает список зарегистрированной безопасности Provider
s, запускаясь с самого привилегированного Provider
. Новое TransformService
объект сначала Provider
это поддерживает указанный алгоритм, и тип механизма возвращается.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders()
метод.
algorithm
- URI алгоритмаmechanismType
- тип XML, обрабатывающего механизм и представлениеTransformService
NullPointerException
- если algorithm
или mechanismType
null
NoSuchAlgorithmException
- если нет Provider
поддерживает a TransformService
реализация для указанного алгоритма и типа механизмаProvider
public static TransformService getInstance(String algorithm, String mechanismType, Provider provider) throws NoSuchAlgorithmException
TransformService
это поддерживает указанный URI алгоритма (исключая: Transform.XPATH2
) и тип механизма (исключая: ДОМ) как предоставлено указанным провайдером. Отметьте что указанное Provider
объект не должен быть зарегистрирован в списке провайдера.algorithm
- URI алгоритмаmechanismType
- тип XML, обрабатывающего механизм и представлениеprovider
- Provider
объектTransformService
NullPointerException
- если provider
, algorithm
, или mechanismType
null
NoSuchAlgorithmException
- если a TransformService
реализация для указанного алгоритма и типа механизма не доступна от указанного Provider
объектProvider
public static TransformService getInstance(String algorithm, String mechanismType, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
TransformService
это поддерживает указанный URI алгоритма (исключая: Transform.XPATH2
) и тип механизма (исключая: ДОМ) как предоставлено указанным провайдером. Указанный провайдер должен быть зарегистрирован в списке поставщика систем обеспечения безопасности. Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders()
метод.
algorithm
- URI алгоритмаmechanismType
- тип XML, обрабатывающего механизм и представлениеprovider
- имя строки провайдераTransformService
NoSuchProviderException
- если указанный провайдер не регистрируется в списке поставщика систем обеспечения безопасностиNullPointerException
- если provider
, mechanismType
, или algorithm
null
NoSuchAlgorithmException
- если a TransformService
реализация для указанного алгоритма и типа механизма не доступна от указанного провайдераProvider
public final String getMechanismType()
TransformService
.public final String getAlgorithm()
TransformService
.getAlgorithm
в интерфейсе AlgorithmMethod
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
- если указанные параметры недопустимы для этого алгоритма
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92