Spec-Zone.ru › OpenJDK 17

Класс Provider

java.lang.Object
java.util.Dictionary<K,V>
java.util.Hashtable<Object,Object>
java.util.Properties
java.security.Provider
Все реализованные интерфейсы:
Serializable, Cloneable, Map<Object,Object>
Прямые известные подклассы:
AuthProvider
public abstract class Provider extends Properties
Этот класс представляет "провайдера" для API безопасности Java, где провайдер реализует некоторые или все части Java безопасности. Услуги, которые может реализовать провайдер, включают:
  • Алгоритмы (такие как DSA, RSA или SHA-256).
  • Средства генерации, преобразования и управления ключами (такие как для ключей, специфичных для алгоритма).

Некоторые реализации провайдера могут столкнуться с невосстановимыми внутренними ошибками во время своей работы, например, с ошибкой связи с токеном безопасности. Для указания таких ошибок следует использовать ProviderException.

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

Тип сервиса Provider зарезервирован для использования в рамках фреймворка безопасности. Приложения не могут добавлять, удалять или изменять сервисы этого типа. Следующие атрибуты автоматически размещаются в каждом объекте Provider:

Атрибуты, автоматически размещенные в объекте Provider
Имя Значение
Provider.id name String.valueOf(provider.getName())
Provider.id version String.valueOf(provider.getVersionStr())
Provider.id info String.valueOf(provider.getInfo())
Provider.id className provider.getClass().getName()

Каждый провайдер имеет имя и строку версии. Обычно провайдер идентифицирует себя файлом с именем java.security.Provider в каталоге ресурсов META-INF/services. Провайдеры безопасности ищутся с помощью механизма ServiceLoader, используя application class loader.

Провайдеры могут быть сконфигурированы таким образом, чтобы они автоматически устанавливались и становились доступными во время выполнения через метод Security.getProviders(). Механизм конфигурации и установки провайдеров безопасности специфичен для реализации.

Примечание реализации:
Реализация JDK поддерживает статическую регистрацию провайдеров безопасности через файл conf/security/java.security в каталоге установки Java. Эти провайдеры автоматически устанавливаются средой выполнения JDK, см. Класс Provider в руководстве Java Cryptography Architecture (JCA) для получения информации о том, как работает и устанавливается конкретный тип провайдера, провайдер криптографической службы.
С:
1.1
См. также:
  • Сериализованная форма

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static class  Provider.Service
Описание службы безопасности.

Краткое описание полей

Поля, объявленные в классе java.util.Properties

defaults

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

Provider(String name, double version, String info)
Provider(String name, String versionStr, String info)
Модификатор Конструктор Описание
protected
Устарело.
Используйте Provider(String, String, String) вместо этого.
protected
Создаёт поставщика со заданным именем, строкой версии и информацией.

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

Модификатор и тип Метод Описание
void clear()
Очищает этот поставщик, чтобы он больше не содержал свойства, используемые для поиска реализованных поставщиком функций.
Object compute(Object key, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)
Пытается вычислить отображение для указанного ключа и его текущего сопоставленного значения (или null, если нет текущего отображения).
Object computeIfAbsent(Object key, Function<? super Object,? extends Object> mappingFunction)
Если указанный ключ ещё не связан со значением (или сопоставлен с null), пытается вычислить его значение с помощью заданной функции отображения и вводит его в этот массив, если null.
Object computeIfPresent(Object key, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)
Если значение для указанного ключа присутствует и не null, пытается вычислить новое отображение, учитывая ключ и его текущее сопоставленное значение.
Provider configure(String configArg)
Применяет предоставленный параметр конфигурации к этому экземпляру поставщика и возвращает настроенного поставщика.
Set<Map.Entry<Object,Object>> entrySet()
Возвращает неизменяемый вид множества элементов свойств, содержащихся в этом поставщике.
void forEach(BiConsumer<? super Object,? super Object> action)
Выполняет заданное действие для каждой записи в этом массиве до тех пор, пока все записи не будут обработаны или действие не вызовет исключение.
String getInfo()
Возвращает удобочитаемое описание поставщика и его услуг.
String getName()
Возвращает имя этого поставщика.
Object getOrDefault(Object key, Object defaultValue)
Возвращает значение, которому соответствует указанный ключ, или defaultValue, если в этом массиве нет отображения для ключа.
Provider.Service getService(String type, String algorithm)
Получить описание службы реализации этого алгоритма или псевдонима поставщика.
Set<Provider.Service> getServices()
Возвращает неизменяемое множество всех служб, поддерживаемых этим поставщиком.
double getVersion()
Устарело.
Используйте getVersionStr() вместо этого.
String getVersionStr()
Возвращает строку версии для этого поставщика.
boolean isConfigured()
Проверяет, был ли настроен этот экземпляр поставщика.
Set<Object> keySet()
Возвращает неизменяемый вид множества ключей свойств, содержащихся в этом поставщике.
void load(InputStream inStream)
Считывает список свойств (пар ключ-элемент) из потока ввода.
Object merge(Object key, Object value, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)
Если указанный ключ ещё не связан со значением или связан с null, связывает его с заданным значением.
Object put(Object key, Object value)
Устанавливает свойство key со значением value.
void putAll(Map<?,?> t)
Копирует все отображения из указанного Map в этот поставщик.
Object putIfAbsent(Object key, Object value)
Если указанный ключ ещё не связан со значением (или сопоставлен с null) связывает его с заданным значением и возвращает null, иначе возвращает текущее значение.
protected void putService(Provider.Service s)
Добавить службу.
Object remove(Object key)
Удаляет свойство key (и соответствующее ему value).
boolean remove(Object key, Object value)
Удаляет запись для указанного ключа только в том случае, если она в настоящее время отображается на указанное значение.
protected void removeService(Provider.Service s)
Удаляет службу, ранее добавленную с помощью putService().
Object replace(Object key, Object value)
Заменяет запись для указанного ключа только в том случае, если она в настоящее время отображается на какое-либо значение.
boolean replace(Object key, Object oldValue, Object newValue)
Заменяет запись для указанного ключа только в том случае, если она в настоящее время отображается на указанное значение.
void replaceAll(BiFunction<? super Object,? super Object,? extends Object> function)
Заменяет значение каждой записи результатом вызова заданной функции для этой записи в порядке, в котором записи возвращаются итератором набора записей, пока все записи не будут обработаны или функция не вызовет исключение.
String toString()
Возвращает строку с именем и строкой версии этого поставщика.
Collection<Object> values()
Возвращает неизменяемый вид коллекции значений свойств, содержащихся в этом поставщике.

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

getProperty, getProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, storeToXML, stringPropertyNames

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

clone, contains, containsKey, containsValue, elements, equals, get, hashCode, isEmpty, keys, rehash, size

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

finalize, getClass, notify, notifyAll, wait, wait, wait

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

Provider

@Deprecated(since="9") protected Provider(String name, double version, String info)
Устарело.
используйте Provider(String, String, String) вместо этого.
Создаёт поставщика с указанным именем, номером версии и информацией. Вызов этого конструктора эквивалентен вызову Provider(String, String, String) с именем name, Double.toString(version), и info.
Параметры:
name - имя поставщика.
version - номер версии поставщика.
info - описание поставщика и его услуг.

Provider

protected Provider(String name, String versionStr, String info)
Создаёт поставщика с указанным именем, строкой версии и информацией.

Строка версии содержит номер версии, за которым необязательно следуют другие сведения, разделенные одним из символов '+', '-'. Формат номера версии:

     ^[0-9]+(\.[0-9]+)*
 

Для получения номера версии в формате double, когда существует более двух компонентов (разделенных точкой, как определено выше), сохраняются только первые два компонента. Полученная строка затем передаётся в Double.valueOf(String) для генерации номера версии, т.е. getVersion().

Если преобразование завершилось неудачно, используется значение 0.

Параметры:
name - имя поставщика.
versionStr - строка версии поставщика.
info - описание поставщика и его услуг.
С:
9

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

configure

public Provider configure(String configArg)
Применяет переданный аргумент конфигурации к экземпляру этого поставщика и возвращает настроенного поставщика. Обратите внимание, что если этот поставщик не может быть настроен на месте, будет создан и возвращён новый поставщик. Поэтому вызывающие стороны должны всегда использовать возвращённого поставщика.
Требования к реализации:
По умолчанию реализация генерирует исключение UnsupportedOperationException. Подклассы должны переопределять этот метод только в том случае, если поддерживается аргумент конфигурации.
Параметры:
configArg - информация о конфигурации для настройки этого поставщика.
Возвращает:
поставщик, настроенный с помощью переданного аргумента конфигурации.
Исключения:
UnsupportedOperationException - если аргумент конфигурации не поддерживается.
NullPointerException - если переданный аргумент конфигурации равен null.
InvalidParameterException - если переданный аргумент конфигурации некорректен.
С:
9

isConfigured

public boolean isConfigured()
Проверяет, был ли настроен этот экземпляр поставщика.
Требования к реализации:
По умолчанию реализация возвращает true. Подклассы должны переопределять этот метод, если экземпляру поставщика требуется явный вызов configure после создания.
Возвращает:
true, если дальнейшая настройка не требуется, иначе false.
С:
9

getName

public String getName()
Возвращает имя этого поставщика.
Возвращает:
имя этого поставщика.

getVersion

@Deprecated(since="9") public double getVersion()
Устарело.
используйте getVersionStr() вместо этого.
Возвращает номер версии этого поставщика.
Возвращает:
номер версии этого поставщика.

getVersionStr

public String getVersionStr()
Возвращает строку версии этого поставщика.
Возвращает:
строка версии этого поставщика.
С:
9

getInfo

public String getInfo()
Возвращает удобочитаемое описание поставщика и его услуг. Может возвращать HTML-страницу с соответствующими ссылками.
Возвращает:
описание поставщика и его услуг.

toString

public String toString()
Возвращает строку с именем и строкой версии этого поставщика.
Переопределяет:
toString в классе Hashtable<Object,Object>
Возвращает:
строка с именем и строкой версии этого поставщика.

clear

public void clear()
Очищает этот поставщик, чтобы он больше не содержал свойства, используемые для поиска реализованных поставщиком функций.

Если включен менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "clearProviderProperties."+name (где name — имя поставщика), чтобы проверить, разрешено ли очистить этого поставщика.

Задано в:
clear в интерфейсе Map<Object,Object>
Переопределяет:
clear в классе Hashtable<Object,Object>
Исключения:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает очистку этого поставщика
С:
1.2

load

public void load(InputStream inStream) throws IOException
Считывает список свойств (пар ключ-значение) из входного потока.
Переопределяет:
load в классе Properties
Параметры:
inStream - входной поток.
Исключения:
IOException - если произошла ошибка при чтении из входного потока.
См. также:
  • Properties.load(java.io.Reader)

putAll

public void putAll(Map<?,?> t)
Копирует все сопоставления из указанной Map в этот поставщик. Эти сопоставления заменят любые свойства, которые у этого поставщика были для любых ключей, которые сейчас присутствуют в указанной Map.
Задано в:
putAll в интерфейсе Map<Object,Object>
Переопределяет:
putAll в классе Hashtable<Object,Object>
Параметры:
t - сопоставления, которые необходимо сохранить в этой карте
С:
1.2

entrySet

public Set<Map.Entry<Object,Object>> entrySet()
Возвращает немодифицируемый вид множества записей свойств, содержащихся в этом поставщике.
Задано в:
entrySet в интерфейсе Map<Object,Object>
Переопределяет:
entrySet в классе Hashtable<Object,Object>
Возвращает:
вид множества сопоставлений, содержащихся в этой карте
С:
1.2
См. также:
  • Map.Entry

keySet

public Set<Object> keySet()
Возвращает немодифицируемый вид множества ключей свойств, содержащихся в этом поставщике.
Задано в:
keySet в интерфейсе Map<Object,Object>
Переопределяет:
keySet в классе Hashtable<Object,Object>
Возвращает:
вид множества ключей, содержащихся в этой карте
С:
1.2

values

public Collection<Object> values()
Возвращает немодифицируемый вид коллекции значений свойств, содержащихся в этом поставщике.
Задано в:
values в интерфейсе Map<Object,Object>
Переопределяет:
values в классе Hashtable<Object,Object>
Возвращает:
вид коллекции значений, содержащихся в этой карте
С:
1.2

put

public Object put(Object key, Object value)
Устанавливает свойство key со значением value.

Если включён менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "putProviderProperty."+name, где name — имя поставщика, для проверки разрешения на установку значений свойств этого поставщика.

Задано в:
put в интерфейсе Map<Object,Object>
Переопределяет:
put в классе Hashtable<Object,Object>
Параметры:
key - ключ хэш-таблицы
value - значение
Возвращает:
предыдущее значение указанного ключа в этой хэш-таблице или null, если его не было
Исключения:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает установку значений свойств.
С:
1.2
См. также:
  • Object.equals(Object)
  • Hashtable.get(Object)

putIfAbsent

public Object putIfAbsent(Object key, Object value)
Если указанный ключ ещё не связан со значением (или сопоставлен с null) связывает его с заданным значением и возвращает null, иначе возвращает текущее значение.

Если включён менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "putProviderProperty."+name, где name — имя поставщика, чтобы проверить, можно ли установить значения свойств этого поставщика.

Параметры:
key - ключ, с которым должно быть связано указанное значение
value - значение, которое должно быть связано с указанным ключом
Возвращает:
предыдущее значение, связанное с указанным ключом, или null, если для ключа не было сопоставления. (Возврат null также может указывать, что карта ранее связывала null с ключом, если реализация поддерживает значения null.)
Исключения:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к установке значений свойств.
С:
1.8

remove

public Object remove(Object key)
Удаляет свойство key (и соответствующее ему value).

Если включён менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "removeProviderProperty."+name, где name — имя поставщика, чтобы проверить, можно ли удалить свойства этого поставщика.

Определено в:
remove в интерфейсе Map<Object,Object>
Переопределяет:
remove в классе Hashtable<Object,Object>
Параметры:
key - ключ, который нужно удалить
Возвращает:
значение, которому был сопоставлен ключ в этой хеш-таблице, или null, если ключ не был сопоставлен
Исключения:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к удалению свойств этого поставщика.
С:
1.2

remove

public boolean remove(Object key, Object value)
Удаляет запись для указанного ключа только в том случае, если он в настоящее время сопоставлен с указанным значением.

Если включён менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "removeProviderProperty."+name, где name — имя поставщика, чтобы проверить, можно ли удалить свойства этого поставщика.

Параметры:
key - ключ, с которым связано указанное значение
value - значение, ожидаемое для сопоставления с указанным ключом
Возвращает:
true если значение было удалено
Исключения:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к удалению свойств этого поставщика.
С:
1.8

replace

public boolean replace(Object key, Object oldValue, Object newValue)
Заменяет запись для указанного ключа только в том случае, если она в настоящее время сопоставлена с указанным значением.

Если включён менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "putProviderProperty."+name, где name — имя поставщика, чтобы проверить, можно ли установить значения свойств этого поставщика.

Параметры:
key - ключ, с которым связано указанное значение
oldValue - ожидаемое значение, связанное с указанным ключом
newValue - значение, которое должно быть связано с указанным ключом
Возвращает:
true если значение было заменено
Исключения:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к установке значений свойств.
С:
1.8

replace

public Object replace(Object key, Object value)
Заменяет запись для указанного ключа только в том случае, если он в настоящее время сопоставлен с каким-либо значением.

Если включён менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "putProviderProperty."+name, где name — имя поставщика, чтобы проверить, можно ли установить значения свойств этого поставщика.

Параметры:
key - ключ, с которым связано указанное значение
value - значение, которое должно быть связано с указанным ключом
Возвращает:
предыдущее значение, связанное с указанным ключом, или null, если для ключа не было сопоставления. (Возврат null также может указывать, что карта ранее связывала null с ключом, если реализация поддерживает значения null.)
Исключения:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к установке значений свойств.
С:
1.8

replaceAll

public void replaceAll(BiFunction<? super Object,? super Object,? extends Object> function)
Заменяет значение каждой записи результатом вызова заданной функции для этой записи в порядке, в котором записи возвращаются итератором набора записей, до обработки всех записей или до возникновения исключения в функции.

Если включён менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "putProviderProperty."+name, где name — имя поставщика, чтобы проверить, можно ли установить значения свойств этого поставщика.

Параметры:
function - функция, применяемая к каждой записи
Исключения:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к установке значений свойств.
С:
1.8

compute

public Object compute(Object key, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)
Пытается вычислить сопоставление для указанного ключа и его текущего сопоставленного значения (или null, если текущего сопоставления нет).

Если включён менеджер безопасности, его метод checkSecurityAccess вызывается со строками "putProviderProperty."+name и "removeProviderProperty."+name, где name — имя поставщика, чтобы проверить, можно ли установить значения свойств этого поставщика и удалить свойства этого поставщика.

Определено в:
compute в интерфейсе Map<Object,Object>
Переопределяет:
compute в классе Hashtable<Object,Object>
Параметры:
key - ключ, с которым должно быть связано указанное значение
remappingFunction - функция переопределения для вычисления значения
Возвращает:
новое значение, связанное с указанным ключом, или null, если значение отсутствует
Исключения:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к установке значений свойств или удалению свойств.
С:
1.8

computeIfAbsent

public Object computeIfAbsent(Object key, Function<? super Object,? extends Object> mappingFunction)
Если указанный ключ ещё не связан со значением (или сопоставлен с null), пытается вычислить его значение с помощью заданной функции отображения и записывает его в эту карту, если null.

Если включён менеджер безопасности, его метод checkSecurityAccess вызывается со строками "putProviderProperty."+name и "removeProviderProperty."+name, где name — имя поставщика, чтобы проверить, можно ли установить значения свойств этого поставщика и удалить свойства этого поставщика.

Определено в:
computeIfAbsent в интерфейсе Map<Object,Object>
Переопределяет:
computeIfAbsent в классе Hashtable<Object,Object>
Параметры:
key - ключ, с которым должно быть связано указанное значение
mappingFunction - функция отображения для вычисления значения
Возвращает:
текущее (существующее или вычисленное) значение, связанное с указанным ключом, или null, если вычисленное значение равно null
Исключения:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к установке значений свойств и удалению свойств.
С:
1.8

computeIfPresent

public Object computeIfPresent(Object key, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)
Если значение для указанного ключа существует и не равно null, пытается вычислить новое сопоставление, используя ключ и его текущее сопоставленное значение.

Если включён менеджер безопасности, его метод checkSecurityAccess вызывается со строками "putProviderProperty."+name и "removeProviderProperty."+name, где name — имя поставщика, чтобы проверить, можно ли установить значения свойств этого поставщика и удалить свойства этого поставщика.

Определено в:
computeIfPresent в интерфейсе Map<Object,Object>
Переопределяет:
computeIfPresent в классе Hashtable<Object,Object>
Параметры:
key - ключ, с которым должно быть связано указанное значение
remappingFunction - функция переопределения для вычисления значения
Возвращает:
новое значение, связанное с указанным ключом, или null, если значение отсутствует
Исключения:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к установке значений свойств или удалению свойств.
С:
1.8

merge

public Object merge(Object key, Object value, BiFunction<? super Object,? super Object,? extends Object> remappingFunction)
Если указанный ключ ещё не связан со значением или связан с null, он связывается с заданным значением. В противном случае значение заменяется результатом заданной функции переназначения, или удаляется, если результат равен null. Этот метод может быть полезен при объединении нескольких сопоставленных значений для ключа.

Если включен менеджер безопасности, его метод checkSecurityAccess вызывается со строками "putProviderProperty."+name и "removeProviderProperty."+name, где name - имя поставщика, чтобы проверить, разрешено ли установить значения свойств этого поставщика и удалить свойства этого поставщика.

Specified by:
merge в интерфейсе Map<Object,Object>
Overrides:
merge в классе Hashtable<Object,Object>
Parameters:
key - ключ, с которым должно быть связано результирующее значение
value - ненулевое значение, которое должно быть объединено с существующим значением, связанным с ключом, или, если нет существующего значения или значение null связано с ключом, должно быть связано с ключом
remappingFunction - функция переназначения для повторного вычисления значения, если оно присутствует
Returns:
новое значение, связанное с указанным ключом, или null, если со значением не связан ключ
Throws:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к установке значений свойств или удалению свойств.
Since:
1.8

getOrDefault

public Object getOrDefault(Object key, Object defaultValue)
Описание скопировано из интерфейса: Map
Возвращает значение, которому сопоставлен указанный ключ, или defaultValue если в этой карте нет сопоставления для ключа.
Parameters:
key - ключ, связанное значение которого должно быть возвращено
defaultValue - значение по умолчанию для ключа
Returns:
значение, которому сопоставлен указанный ключ, или defaultValue если в этой карте нет сопоставления для ключа
Since:
1.8

forEach

public void forEach(BiConsumer<? super Object,? super Object> action)
Описание скопировано из интерфейса: Map
Выполняет заданное действие для каждой записи в этой карте до тех пор, пока все записи не будут обработаны или действие не выбросит исключение. За исключением случаев, когда это указано реализующим классом, действия выполняются в порядке итерации множества записей (если порядок итерации указан). Исключения, брошенные действием, передаются вызывающей стороне.
Parameters:
action - действие, которое должно быть выполнено для каждой записи
Since:
1.8

getService

public Provider.Service getService(String type, String algorithm)
Получает описание службы, представляющей реализацию этого поставщиком указанного типа этого алгоритма или псевдонима. Если такая реализация не существует, этот метод возвращает null. Если существует две соответствующие службы, одна, добавленная в этот поставщик с помощью putService() и одна, добавленная через put(), возвращается служба, добавленная с помощью putService().
Parameters:
type - тип запрошенной service (например, MessageDigest)
algorithm - имя алгоритма (или альтернативный псевдоним) запрошенной службы, не учитывающее регистр (например, SHA-1)
Returns:
служба, описывающая соответствующую службу этого поставщика, или null, если такая служба не существует
Throws:
NullPointerException - если тип или алгоритм равен null
Since:
1.5

getServices

public Set<Provider.Service> getServices()
Получает неизменяемое множество всех служб, поддерживаемых этим поставщиком.
Returns:
неизменяемое множество всех служб, поддерживаемых этим поставщиком
Since:
1.5

putService

protected void putService(Provider.Service s)
Добавляет службу. Если служба того же типа с тем же именем алгоритма существует и была добавлена с помощью putService(), она заменяется новой службой. Этот метод также помещает информацию об этой службе в значения Hashtable поставщика в формате, описанном в Руководстве по архитектуре Java Cryptography (JCA).

Также, если существует менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "putProviderProperty."+name, где name - имя поставщика, чтобы проверить, разрешено ли установить значения свойств этого поставщика. Если используется реализация по умолчанию checkSecurityAccess (то есть этот метод не переопределен), то это приводит к вызову метода менеджера безопасности checkPermission с разрешением SecurityPermission("putProviderProperty."+name).

Parameters:
s - служба для добавления
Throws:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к установке значений свойств.
NullPointerException - если s равно null
Since:
1.5

removeService

protected void removeService(Provider.Service s)
Удаляет службу, ранее добавленную с помощью putService(). Указанная служба удаляется из этого поставщика. Она больше не будет возвращаться методом getService(), и ее информация будет удалена из Hashtable этого поставщика.

Также, если существует менеджер безопасности, его метод checkSecurityAccess вызывается со строкой "removeProviderProperty."+name, где name - имя поставщика, чтобы проверить, разрешено ли удалить свойства этого поставщика. Если используется реализация по умолчанию checkSecurityAccess (то есть этот метод не переопределен), то это приводит к вызову метода менеджера безопасности checkPermission с разрешением SecurityPermission("removeProviderProperty."+name).

Parameters:
s - служба для удаления
Throws:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к удалению свойств этого поставщика.
NullPointerException - если s равно null
Since:
1.5

© 1993, 2021, 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/17/docs/api/java.base/java/security/Provider.html

Spec-Zone.ru

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