Класс PolicySpi
- java.lang.Object
-
- java.security.PolicySpi
public abstract class PolicySpi extends Object
Этот класс определяет интерфейс поставщика сервисов (SPI) для класса Policy. Все абстрактные методы в этом классе должны быть реализованы каждым поставщиком сервиса, желающим предоставить реализацию Policy.
Реализации подклассов этого абстрактного класса должны предоставлять публичный конструктор, принимающий объект Policy.Parameters в качестве входного параметра. Этот конструктор также должен выбрасывать исключение IllegalArgumentException, если он не понимает входной параметр Policy.Parameters.
- Since:
- 1.6
Конструкторы
| Конструктор | Описание |
|---|---|
PolicySpi() |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected PermissionCollection | engineGetPermissions(CodeSource codesource) | Возвращает объект PermissionCollection, содержащий набор разрешений, предоставленных указанному CodeSource. |
protected PermissionCollection | engineGetPermissions(ProtectionDomain domain) | Возвращает объект PermissionCollection, содержащий набор разрешений, предоставленных указанному ProtectionDomain. |
protected abstract boolean | engineImplies(ProtectionDomain domain,
Permission permission) | Проверяет, предоставил ли политика разрешение Permission ProtectionDomain. |
protected void | engineRefresh() | Обновляет/перезагружает конфигурацию политики. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitКонструкторы
PolicySpi
public PolicySpi()
Методы
engineImplies
protected abstract boolean engineImplies(ProtectionDomain domain,
Permission permission)Проверяет, предоставил ли политика разрешение Permission ProtectionDomain.
- Parameters:
-
domain- ProtectionDomain, для проверки. -
permission- проверить, предоставлено ли это разрешение указанному домену. - Returns:
- boolean true, если разрешение предоставлено домену.
engineRefresh
protected void engineRefresh()
Обновляет/перезагружает конфигурацию политики. Поведение этого метода зависит от реализации. Например, вызов refresh для политики на основе файлов приведет к повторному чтению файла.
По умолчанию этот метод ничего не делает. Этот метод следует переопределять, если операция обновления поддерживается реализацией политики.
engineGetPermissions
protected PermissionCollection engineGetPermissions(CodeSource codesource)
Возвращает объект PermissionCollection, содержащий набор разрешений, предоставленных указанному CodeSource.
Реализация по умолчанию возвращает объект Policy.UNSUPPORTED_EMPTY_COLLECTION. Этот метод может быть переопределен, если реализация политики может вернуть набор разрешений, предоставленных CodeSource.
- Parameters:
-
codesource- CodeSource, которому предоставлен возвращаемый PermissionCollection. - Returns:
- набор разрешений, предоставленных указанному CodeSource. Если операция поддерживается, возвращаемый набор разрешений должен быть новым изменяемым экземпляром и должен поддерживать разнородные типы Permission. Если операция не поддерживается, возвращается Policy.UNSUPPORTED_EMPTY_COLLECTION.
engineGetPermissions
protected PermissionCollection engineGetPermissions(ProtectionDomain domain)
Возвращает объект PermissionCollection, содержащий набор разрешений, предоставленных указанному ProtectionDomain.
Реализация по умолчанию возвращает объект Policy.UNSUPPORTED_EMPTY_COLLECTION. Этот метод может быть переопределен, если реализация политики может вернуть набор разрешений, предоставленных ProtectionDomain.
- Parameters:
-
domain- ProtectionDomain, которому предоставлен возвращаемый PermissionCollection. - Returns:
- набор разрешений, предоставленных указанному ProtectionDomain. Если операция поддерживается, возвращаемый набор разрешений должен быть новым изменяемым экземпляром и должен поддерживать разнородные типы Permission. Если операция не поддерживается, возвращается Policy.UNSUPPORTED_EMPTY_COLLECTION.
© 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/PolicySpi.html