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, waitgetParameterSpec, transform, transformisFeatureSupportedprotected TransformService()
public static TransformService getInstance(String algorithm, String mechanismType) throws NoSuchAlgorithmException
TransformService это поддерживает указанный URI алгоритма (исключая: Transform.XPATH2) и тип механизма (исключая: ДОМ). Этот метод использует стандартный механизм поиска провайдера JCA, чтобы определить местоположение и инстанцировать a TransformService реализация требуемого алгоритма и MechanismType атрибут службы. Это пересекает список зарегистрированной безопасности Providers, запускаясь с самого привилегированного Provider. Новое TransformService объект сначала Provider это поддерживает указанный алгоритм, и тип механизма возвращается.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
algorithm - URI алгоритмаmechanismType - тип XML, обрабатывающего механизм и представлениеTransformServiceNullPointerException - если algorithm или mechanismType nullNoSuchAlgorithmException - если нет Provider поддерживает a TransformService реализация для указанного алгоритма и типа механизмаProviderpublic static TransformService getInstance(String algorithm, String mechanismType, Provider provider) throws NoSuchAlgorithmException
TransformService это поддерживает указанный URI алгоритма (исключая: Transform.XPATH2) и тип механизма (исключая: ДОМ) как предоставлено указанным провайдером. Отметьте что указанное Provider объект не должен быть зарегистрирован в списке провайдера.algorithm - URI алгоритмаmechanismType - тип XML, обрабатывающего механизм и представлениеprovider - Provider объектTransformServiceNullPointerException - если provider, algorithm, или mechanismType nullNoSuchAlgorithmException - если a TransformService реализация для указанного алгоритма и типа механизма не доступна от указанного Provider объектProviderpublic static TransformService getInstance(String algorithm, String mechanismType, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
TransformService это поддерживает указанный URI алгоритма (исключая: Transform.XPATH2) и тип механизма (исключая: ДОМ) как предоставлено указанным провайдером. Указанный провайдер должен быть зарегистрирован в списке поставщика систем обеспечения безопасности. Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
algorithm - URI алгоритмаmechanismType - тип XML, обрабатывающего механизм и представлениеprovider - имя строки провайдераTransformServiceNoSuchProviderException - если указанный провайдер не регистрируется в списке поставщика систем обеспечения безопасностиNullPointerException - если provider, mechanismType, или algorithm nullNoSuchAlgorithmException - если a TransformService реализация для указанного алгоритма и типа механизма не доступна от указанного провайдераProviderpublic final String getMechanismType()
TransformService.public final String getAlgorithm()
TransformService.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 не является совместимым с этим TransformServiceNullPointerException - если parent nullMarshalException - если параметры не могут быть упорядоченыpublic abstract void init(XMLStructure parent, XMLCryptoContext context) throws InvalidAlgorithmParameterException
TransformService с указанными параметрами и контекстом документа.parent - специфичная для механизма структура, содержащая первичную структуруcontext - XMLCryptoContext содержа дополнительный контекст (может быть null если не применимый)ClassCastException - если тип parent или context не является совместимым с этим TransformServiceNullPointerException - если parent nullInvalidAlgorithmParameterException - если указанные параметры недопустимы для этого алгоритма
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92