Spec-Zone.ru › OpenJDK 27

Класс 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 представление этой службы.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

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 — если name равен 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, если эта служба может использовать параметр, если быстрая проверка невозможна или если состояние неизвестно.

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

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

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

toString

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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