Класс Provider
- Все реализованные интерфейсы:
-
Serializable,Cloneable,Map<Object,Object>
- Прямые известные подклассы:
AuthProvider
public abstract class Provider extends Properties
- Алгоритмы (например, DSA, RSA или SHA-256).
- Утилиты генерации, преобразования и управления ключами (например, для ключей, специфичных для алгоритма).
Некоторые реализации провайдеров могут столкнуться с невосстановимыми внутренними ошибками во время своей работы, например, с ошибкой связи с токеном безопасности. Для указания таких ошибок следует использовать ProviderException.
Обратите внимание, что провайдер может быть использован для реализации любого сервиса безопасности в Java, использующего подключаемую архитектуру с выбором реализаций, которые подходят под нее.
Тип сервиса 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 (JCA) для получения информации о том, как работает и устанавливается конкретный тип провайдера, криптографический провайдер. - С:
- 1.1
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class |
Provider.Service |
Описание службы безопасности. |
Краткое описание полей
Поля, объявленные в классе java.util.Properties
defaults
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Устаревшее. |
|
protected |
Создаёт Provider с указанным именем, строкой версии и информацией. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
clear() |
Очищает этот Provider, чтобы он больше не содержал свойства, используемые для поиска реализованных Provider. |
Object |
compute |
Попытка вычислить отображение для указанного ключа и его текущего сопоставленного значения (или null, если текущего отображения нет). |
Object |
computeIfAbsent |
Если указанный ключ ещё не связан со значением (или сопоставлен с null), попытка вычислить его значение с помощью заданной функции отображения и внести его в эту карту, если null. |
Object |
computeIfPresent |
Если значение для указанного ключа присутствует и не null, попытка вычислить новое отображение, учитывая ключ и его текущее сопоставленное значение. |
Provider |
configure |
Применение предоставленного аргумента конфигурации к этому экземпляру Provider и возврат сконфигурированного Provider. |
Set |
entrySet() |
Возвращает неизменяемый вид на набор записей свойств, содержащихся в этом Provider. |
void |
forEach |
Выполняет заданное действие для каждой записи в этой карте, пока все записи не будут обработаны или действие не выбросит исключение. |
String |
getInfo() |
Возвращает удобочитаемое описание Provider и его служб. |
String |
getName() |
Возвращает имя этого Provider. |
Object |
getOrDefault |
Возвращает значение, которому сопоставлен указанный ключ, или defaultValue, если в этой карте нет сопоставления для ключа. |
Provider.Service |
getService |
Получение службы, описывающей реализацию этим поставщиком указанного типа этого алгоритма или псевдонима. |
Set |
getServices() |
Получение неизменяемого набора всех служб, поддерживаемых этим Provider. |
double |
getVersion() |
Устаревшее. Используйте getVersionStr() вместо этого. |
String |
getVersionStr() |
Возвращает строку версии для этого Provider. |
boolean |
isConfigured() |
Проверка, был ли сконфигурирован этот экземпляр Provider. |
Set |
keySet() |
Возвращает неизменяемый вид на множество ключей свойств, содержащихся в этом Provider. |
void |
load |
Чтение списка свойств (пар ключ-элемент) из входного потока. |
Object |
merge |
Если указанный ключ ещё не связан со значением или связан с null, связывает его с заданным значением. |
Object |
put |
Устанавливает свойство key, чтобы оно имело указанное value. |
void |
putAll |
Копирует все отображения из указанной карты в этот Provider. |
Object |
putIfAbsent |
Если указанный ключ ещё не связан со значением (или сопоставлен с null), связывает его с заданным значением и возвращает null, иначе возвращает текущее значение. |
protected void |
putService |
Добавление службы. |
Object |
remove |
Удаляет свойство key (и соответствующее value). |
boolean |
remove |
Удаляет запись для указанного ключа только в том случае, если она в настоящее время отображена на указанное значение. |
protected void |
removeService |
Удаление ранее добавленной службы с помощью putService(). |
Object |
replace |
Заменяет запись для указанного ключа только в том случае, если она в настоящее время отображена на какое-либо значение. |
boolean |
replace |
Заменяет запись для указанного ключа только в том случае, если она в настоящее время отображена на указанное значение. |
void |
replaceAll |
Заменяет значение каждой записи результатом вызова заданной функции для этой записи в порядке, в котором записи возвращаются итератором набора записей, пока все записи не будут обработаны или функция не выбросит исключение. |
String |
toString() |
Возвращает строку с именем и строкой версии этого Provider. |
Collection |
values() |
Возвращает неизменяемый вид на коллекцию значений свойств, содержащихся в этом Provider. |
Методы, объявленные в классе java.util.Properties
getProperty, getProperty, list, list, load, loadFromXML, propertyNames, save, setProperty, store, store, storeToXML, storeToXML, storeToXML, stringPropertyNames
Подробное описание конструкторов
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.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
clear
load
public void load(InputStream inStream) throws IOException
- Переопределяет:
-
loadв классеProperties - Параметры:
-
inStream- поток ввода. - Исключения:
-
IOException- если произошла ошибка при чтении из потока ввода. - См. также:
putAll
public void putAll(Map<?,?> t)
Provider. Эти отображения заменят любые свойства, которые у этого Provider были для любых ключей, которые в настоящее время присутствуют в указанной карте.entrySet
public Set<Map.Entry<Object,Object>> entrySet()
Provider.keySet
public Set<Object> keySet()
Provider.values
public Collection<Object> values()
Provider.put
public Object put(Object key, Object value)
key, чтобы оно имело указанное value.putIfAbsent
public Object putIfAbsent(Object key, Object value)
null) связывает его с заданным значением и возвращает null, иначе возвращает текущее значение.- Параметры:
-
key- ключ, с которым нужно связать указанное значение -
value- значение, которое нужно связать с указанным ключом - Возвращает:
- предыдущее значение, связанное с указанным ключом, или
null, если для ключа не было сопоставления. (Возвращениеnullтакже может указывать, что карта ранее ассоциировалаnullс ключом, если реализация поддерживает значения null.) - С:
- 1.8
remove
public Object remove(Object key)
key свойство (и соответствующее value).remove
public boolean remove(Object key, Object value)
- Параметры:
-
key- ключ, с которым связано указанное значение -
value- ожидаемое значение, связанное с указанным ключом - Возвращает:
-
true, если значение было удалено - С:
- 1.8
replace
public boolean replace(Object key, Object oldValue, Object newValue)
- Параметры:
-
key- ключ, с которым связано указанное значение -
oldValue- ожидаемое значение, связанное с указанным ключом -
newValue- значение, которое нужно связать с указанным ключом - Возвращает:
-
true, если значение было заменено - С:
- 1.8
replace
public Object replace(Object key, Object value)
- Параметры:
-
key- ключ, с которым связано указанное значение -
value- значение, которое нужно связать с указанным ключом - Возвращает:
- предыдущее значение, связанное с указанным ключом, или
null, если для ключа не было сопоставления. (Возвращениеnullтакже может указывать, что карта ранее ассоциировалаnullс ключом, если реализация поддерживает значения null.) - С:
- 1.8
replaceAll
public void replaceAll(BiFunction<? super Object, ? super Object, ? extends Object> function)
- Параметры:
-
function- функция, применяемая к каждой записи - С:
- 1.8
compute
public Object compute(Object key, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction)
null, если текущего сопоставления нет).- Определено в:
-
computeв интерфейсеMap<Object,Object> - Переопределяет:
-
computeв классеHashtable<Object,Object> - Параметры:
-
key- ключ, с которым нужно связать указанное значение -
remappingFunction- функция переназначения для вычисления значения - Возвращает:
- новое значение, связанное с указанным ключом, или null, если нет
- С:
- 1.8
computeIfAbsent
public Object computeIfAbsent(Object key, Function<? super Object, ? extends Object> mappingFunction)
null), пытается вычислить его значение с помощью заданной функции сопоставления и вводит его в эту карту, если null.- Определено в:
-
computeIfAbsentв интерфейсеMap<Object,Object> - Переопределяет:
-
computeIfAbsentв классеHashtable<Object,Object> - Параметры:
-
key- ключ, с которым нужно связать указанное значение -
mappingFunction- функция сопоставления для вычисления значения - Возвращает:
- текущее (существующее или вычисленное) значение, связанное с указанным ключом, или null, если вычисленное значение равно null
- С:
- 1.8
computeIfPresent
public Object computeIfPresent(Object key, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction)
- Определено в:
-
computeIfPresentв интерфейсеMap<Object,Object> - Переопределяет:
-
computeIfPresentв классеHashtable<Object,Object> - Параметры:
-
key- ключ, с которым нужно связать указанное значение -
remappingFunction- функция переназначения для вычисления значения - Возвращает:
- новое значение, связанное с указанным ключом, или null, если нет
- С:
- 1.8
merge
public Object merge(Object key, Object value, BiFunction<? super Object, ? super Object, ? extends Object> remappingFunction)
null, связывает его с заданным значением. В противном случае заменяет значение результатом заданной функции переназначения или удаляет, если результат равен null. Этот метод может быть полезен при объединении нескольких сопоставленных значений для одного ключа.- Определено в:
-
mergeв интерфейсеMap<Object,Object> - Переопределяет:
-
mergeв классеHashtable<Object,Object> - Параметры:
-
key- ключ, с которым будет связано результирующее значение -
value- значение, которое нужно объединить с существующим значением, связанным с ключом, или, если существующее значение или значение null связано с ключом, которое нужно связать с ключом -
remappingFunction- функция переназначения для повторного вычисления значения, если оно присутствует - Возвращает:
- новое значение, связанное с указанным ключом, или null, если с ключом не связано никакого значения
- С:
- 1.8
getOrDefault
public Object getOrDefault(Object key, Object defaultValue)
MapdefaultValue, если в этой карте нет сопоставления для ключа.- Параметры:
-
key- ключ, связанное значение которого должно быть возвращено -
defaultValue- значение по умолчанию для ключа - Возвращает:
- значение, которому сопоставлен указанный ключ, или
defaultValue, если в этой карте нет сопоставления для ключа - С:
- 1.8
forEach
public void forEach(BiConsumer<? super Object, ? super Object> action)
Map- Параметры:
-
action- действие, выполняемое для каждой записи - С:
- 1.8
getService
public Provider.Service getService(String type, String algorithm)
null. Если существует два совпадающих сервиса, один добавленный в данного поставщика с помощью putService() и один добавленный с помощью put(), возвращается сервис, добавленный с помощью putService().- Параметры:
-
type- тип запрашиваемогоservice(например,MessageDigest) -
algorithm- нечувствительное к регистру имя алгоритма (или альтернативный псевдоним) запрашиваемого сервиса (например,SHA-1) - Возвращает:
- сервис, описывающий соответствующий сервис данного поставщика, или
null, если такой сервис не существует - Исключения:
-
NullPointerException- если тип или алгоритмnull - С:
- 1.5
getServices
public Set<Provider.Service> getServices()
Provider.- Возвращает:
- неизменяемый набор всех служб, поддерживаемых этим
Provider - С:
- 1.5
putService
protected void putService(Provider.Service s)
putService(), она заменяется новой службой. Этот метод также размещает информацию об этой службе в значениях хэш-таблицы поставщика в формате, описанном в Руководстве по архитектуре Java Cryptography (JCA).- Параметры:
-
s- добавляемая служба - Исключения:
-
NullPointerException- если s являетсяnull - С:
- 1.5
removeService
protected void removeService(Provider.Service s)
putService(). Указанная служба удаляется из этого Provider. Она больше не будет возвращаться методом getService(), а информация о ней будет удалена из хэш-таблицы этого поставщика.- Параметры:
-
s- удаляемая служба - Исключения:
-
NullPointerException- если s являетсяnull - С:
- 1.5
© 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.html
Provider(String, String, String)вместо этого.