Spec-Zone.ru › OpenJDK 24

Класс Provider.Service

java.lang.Object
java.security.Provider.Service
Вложенный класс:
Provider
public static class Provider.Service extends Object
Описание службы безопасности. Оно инкапсулирует свойства службы и содержит фабричный метод для получения новых экземпляров реализации этой службы.

Каждая служба имеет провайдера, который предоставляет услугу, тип, имя алгоритма и имя класса, реализующего службу. По желанию, она также включает список альтернативных имён алгоритмов для этой службы (псевдонимы) и атрибуты, которые представляют собой карту (имя, значение) String пар.

Этот класс определяет методы supportsParameter() и newInstance(), которые используются фреймворком безопасности Java при поиске подходящих служб и их создании. Действительные аргументы для этих методов зависят от типа службы. Для типов служб, определённых в Java SE, см. Руководство по архитектуре криптографии Java (JCA) для допустимых значений. Обратите внимание, что компоненты вне Java SE могут определять дополнительные типы служб и их поведение.

Экземпляры этого класса неизменяемы.

С момента:
1.5

Краткое описание конструкторов

Конструктор Описание
Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,String> attributes)
Создаёт новую службу.

Краткое описание методов

Модификатор и тип Метод Описание
final String getAlgorithm()
Возвращает имя алгоритма этой службы.
final String getAttribute(String name)
Возвращает значение указанного атрибута или null, если этот атрибут не задан для этой службы.
final String getClassName()
Возвращает имя класса, реализующего эту службу.
final Provider getProvider()
Возвращает провайдера этой службы.
final String getType()
Возвращает тип этой службы.
Object newInstance(Object constructorParameter)
Возвращает новый экземпляр реализации, описанной в этой службе.
boolean supportsParameter(Object parameter)
Проверяет, может ли эта служба использовать указанный параметр.
String toString()
Возвращает String представление этой службы.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

Service

public Service(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,String> attributes)
Создаёт новую службу.
Параметры:
provider - провайдер, предоставляющий эту службу
type - тип этой службы
algorithm - имя алгоритма
className - имя класса, реализующего эту службу
aliases - список псевдонимов или null, если у алгоритма нет псевдонимов
attributes - карта атрибутов или null, если у этой реализации нет атрибутов
Исключения:
NullPointerException - если провайдер, тип, алгоритм или className не null

Подробное описание методов

getType

public final String getType()
Возвращает тип этой службы. Например, MessageDigest.
Возвращает:
тип этой службы

getAlgorithm

public final String getAlgorithm()
Возвращает имя алгоритма этой службы. Например, SHA-1.
Возвращает:
алгоритм этой службы

getProvider

public final Provider getProvider()
Возвращает провайдера этой службы.
Возвращает:
провайдера этой службы

getClassName

public final String getClassName()
Возвращает имя класса, реализующего эту службу.
Возвращает:
имя класса, реализующего эту службу

getAttribute

public final String getAttribute(String name)
Возвращает значение указанного атрибута или null, если этот атрибут не задан для этой службы.
Параметры:
name - имя запрашиваемого атрибута
Возвращает:
значение указанного атрибута или null, если атрибут отсутствует
Исключения:
NullPointerException - если имя не null

newInstance

public Object newInstance(Object constructorParameter) throws NoSuchAlgorithmException
Возвращает новый экземпляр реализации, описанной в этой службе. Фреймворк провайдера безопасности использует этот метод для создания реализаций. Приложениям обычно не нужно вызывать его.

По умолчанию используется рефлексия для вызова стандартного конструктора для этого типа службы. Провайдеры безопасности могут переопределить этот метод для реализации создания по-другому. Подробнее о значениях constructorParameter, допустимых для различных типов служб, см. Руководство по архитектуре криптографии Java (JCA).

Параметры:
constructorParameter - значение, которое нужно передать в конструктор, или null, если этот тип службы не использует constructorParameter.
Возвращает:
новую реализацию этой службы
Исключения:
InvalidParameterException - если значение constructorParameter недопустимо для данного типа службы.
NoSuchAlgorithmException - если создание не удалось по другим причинам.

supportsParameter

public boolean supportsParameter(Object parameter)
Проверяет, может ли эта служба использовать указанный параметр. Возвращает false, если эта служба не может использовать параметр. Возвращает true, если эта служба может использовать параметр, если быстрый тест невозможен или если статус неизвестен.

Фреймворк провайдера безопасности использует этот метод с некоторыми типами служб для быстрого исключения несоответствующих реализаций. Приложениям обычно не нужно вызывать его.

Подробнее о значениях параметра, допустимых для различных типов служб, см. начало этого класса и Руководство по архитектуре криптографии Java (JCA). Провайдеры безопасности могут переопределить его для реализации собственной проверки.

Параметры:
parameter - параметр для проверки
Возвращает:
false, если эта служба не может использовать указанный параметр; true, если она может потенциально использовать параметр
Исключения:
InvalidParameterException - если значение параметра недопустимо для данного типа службы или если этот метод не может быть использован с данным типом службы

toString

public String toString()
Возвращает String представление этой службы.
Переопределяет:
toString в классе Object
Возвращает:
String представление этой службы.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.base/java/security/Provider.Service.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API