Spec-Zone.ru › OpenJDK 21

Класс Provider

java.lang.Object
java.util.Dictionary<Object,Object>
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 Security, где провайдер реализует некоторые или все части Java Security. Сервисы, которые может реализовать провайдер, включают:
  • Алгоритмы (такие как 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
Создает Provider со заданным именем, строкой версии и информацией.

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

Модификатор и тип Метод Описание
void clear()
Очищает этот Provider, чтобы он больше не содержал свойства, используемые для поиска реализованных Provider.
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)
Применяет предоставленный аргумент конфигурации к этому Provider экземпляру и возвращает сконфигурированный Provider.
Set<Map.Entry<Object,Object>> entrySet()
Возвращает неизменяемый набор представлений пар свойств, содержащихся в этом Provider.
void forEach(BiConsumer<? super Object,? super Object> action)
Выполняет заданное действие для каждой записи в этой карте, пока все записи не будут обработаны или действие не выбросит исключение.
String getInfo()
Возвращает удобочитаемое описание Provider и его служб.
String getName()
Возвращает имя этого Provider.
Object getOrDefault(Object key, Object defaultValue)
Возвращает значение, которому сопоставлен указанный ключ, или defaultValue если в этой карте нет отображения для ключа.
Provider.Service getService(String type, String algorithm)
Получить описание службы, описывающее реализацию данного типа алгоритма или псевдонима в этом поставщике.
Set<Provider.Service> getServices()
Получить неизменяемый набор всех поддерживаемых служб этим Provider.
double getVersion()
Устарело.
Используйте getVersionStr() вместо этого.
String getVersionStr()
Возвращает строку версии для этого Provider.
boolean isConfigured()
Проверяет, был ли сконфигурирован этот экземпляр Provider.
Set<Object> keySet()
Возвращает неизменяемый набор представлений ключей свойств, содержащихся в этом Provider.
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)
Копирует все отображения из указанной карты в эту Provider.
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()
Возвращает строку с именем и строкой версии этого Provider.
Collection<Object> values()
Возвращает неизменяемый вид коллекции значений свойств, содержащихся в этом Provider.

Методы, объявленные в классе 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 с указанным именем, номером версии и информацией. Вызов этого конструктора эквивалентен вызову Provider(String, String, String) с name именем, Double.toString(version), и info.
Параметры:
name - имя поставщика.
version - номер версии поставщика.
info - описание поставщика и его услуг.

Provider

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

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

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

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

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

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

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

configure

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

isConfigured

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

getName

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

getVersion

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

getVersionStr

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

getInfo

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

toString

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

clear

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

Если включён менеджер безопасности, его метод 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)
Копирует все сопоставления из указанной карты в этот Provider. Эти сопоставления заменят любые свойства, которые у этого Provider были для любых ключей, которые сейчас находятся в указанной карте.
Определено в:
putAll в интерфейсе Map<Object,Object>
Переопределяет:
putAll в классе Hashtable<Object,Object>
Параметры:
t - сопоставления, которые нужно сохранить в этой карте
С:
1.2

entrySet

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

keySet

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

values

public Collection<Object> values()
Возвращает неизменяемую коллекцию представлений значений свойств, содержащихся в этом Provider.
Определено в:
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 — имя поставщика, чтобы проверить, разрешено ли устанавливать значения свойств этого поставщика.

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

remove

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

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

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

remove

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

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

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

replace

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

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

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

replace

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

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

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

replaceAll

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

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

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

compute

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

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

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

computeIfAbsent

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

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

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

computeIfPresent

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

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

Specified by:
computeIfPresent в интерфейсе Map<Object,Object>
Overrides:
computeIfPresent в классе Hashtable<Object,Object>
Parameters:
key - ключ, с которым должно быть связано указанное значение
remappingFunction - функция переназначения для вычисления значения
Returns:
новое значение, связанное с указанным ключом, или null, если нет
Throws:
SecurityException - если менеджер безопасности существует и его метод SecurityManager.checkSecurityAccess(java.lang.String) запрещает доступ к установке значений свойств или удалению свойств.
Since:
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()
Получить неизменяемый набор всех сервисов, поддерживаемых этим Provider.
Returns:
неизменяемый набор всех сервисов, поддерживаемых этим Provider
Since:
1.5

putService

protected void putService(Provider.Service s)
Добавить сервис. Если сервис того же типа с тем же именем алгоритма существует, и он был добавлен с помощью putService(), он заменяется новым сервисом. Этот метод также помещает информацию об этом сервисе в таблицу хеширования значений поставщика в формате, описанном в руководстве по архитектуре криптографии Java (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(). Указанный сервис удаляется из этого Provider. Он больше не будет возвращаться методом getService(), и его информация будет удалена из таблицы хеширования этого поставщика.

Также, если существует менеджер безопасности, его метод 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, 2023, 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/21/docs/api/java.base/java/security/Provider.html

Spec-Zone.ru

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