Класс Provider.Service

Вложенный класс:
Provider
public static class Provider.Service
extends Object

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

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

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

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

С момента:
1.5

Конструкторы

Конструктор Описание
Service​(Provider provider, String type, String algorithm, String className, List<String> aliases, Map<String,​String> attributes)

Создает новую службу.

Методы

Модификатор и тип Метод Описание
String getAlgorithm()

Возвращает имя алгоритма этой службы.

String getAttribute​(String name)

Возвращает значение указанного атрибута или null, если этот атрибут не задан для данной службы.

String getClassName()

Возвращает имя класса, реализующего эту службу.

Provider getProvider()

Возвращает поставщика этой службы.

String getType()

Возвращает тип этой службы.

Object newInstance​(Object constructorParameter)

Возвращает новый экземпляр реализации, описанной этой службой.

boolean supportsParameter​(Object parameter)

Проверяет, может ли эта служба использовать указанный параметр.

String toString()

Возвращает строковое представление этой службы.

Методы, унаследованные от класса 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 Cryptography (JCA).

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

supportsParameter

public boolean supportsParameter(Object parameter)

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

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

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

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

toString

public String toString()

Возвращает строковое представление этой службы.

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

© 1993, 2020, 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://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/security/Provider.Service.html

Spec-Zone .ru
спецификации, руководства, описания, API