Класс PolicySpi

public abstract class PolicySpi
extends Object

Этот класс определяет интерфейс поставщика сервисов (SPI) для класса Policy. Все абстрактные методы в этом классе должны быть реализованы каждым поставщиком сервиса, желающим предоставить реализацию Policy.

Реализации подклассов этого абстрактного класса должны предоставлять публичный конструктор, принимающий объект Policy.Parameters в качестве входного параметра. Этот конструктор также должен выбрасывать исключение IllegalArgumentException, если он не понимает входной параметр Policy.Parameters.

Since:
1.6

Конструкторы

КонструкторОписание
PolicySpi()

Методы

Модификатор и типМетодОписание
protected PermissionCollectionengineGetPermissions​(CodeSource codesource)

Возвращает объект PermissionCollection, содержащий набор разрешений, предоставленных указанному CodeSource.

protected PermissionCollectionengineGetPermissions​(ProtectionDomain domain)

Возвращает объект PermissionCollection, содержащий набор разрешений, предоставленных указанному ProtectionDomain.

protected abstract booleanengineImplies​(ProtectionDomain domain, Permission permission)

Проверяет, предоставил ли политика разрешение Permission ProtectionDomain.

protected voidengineRefresh()

Обновляет/перезагружает конфигурацию политики.

Методы, унаследованные от класса 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

Spec-Zone .ru
спецификации, руководства, описания, API