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