Spec-Zone.ru › OpenJDK 21

Класс UnresolvedPermission

java.lang.Object
java.security.Permission
java.security.UnresolvedPermission
Все реализуемые интерфейсы:
Serializable, Guard
public final class UnresolvedPermission extends Permission implements Serializable
Класс UnresolvedPermission используется для хранения разрешений, которые были «неразрешены» при инициализации политики. Неразрешенное разрешение — это разрешение, чья фактическая класс разрешения ещё не существует во время инициализации политики (см. ниже).

Политика для среды выполнения Java (указывающая, какие разрешения доступны для кода из различных принципалов) представлена объектом Policy. Всякий раз, когда политика инициализируется или обновляется, для всех разрешений, разрешённых политикой, создаются объекты соответствующих классов.

Многие типы классов разрешений, на которые ссылается конфигурация политики, существуют локально (т. е. могут быть найдены в CLASSPATH). Объекты для таких разрешений могут быть созданы во время инициализации политики. Например, всегда возможно создать java.io.FilePermission, так как класс FilePermission находится в CLASSPATH.

Другие классы разрешений могут ещё не существовать во время инициализации политики. Например, класс разрешения, на который ссылаются, может находиться в файле JAR, который будет загружен позже. Для каждого такого класса создаётся UnresolvedPermission. Таким образом, UnresolvedPermission по сути является «заглушкой», содержащей информацию о разрешении.

Позже, когда код вызывает AccessController.checkPermission(java.security.Permission) для разрешения типа, который ранее был неразрешённым, но чья класс была загружена, ранее неразрешённые разрешения этого типа «разрешаются». То есть для каждого такого UnresolvedPermission, создаётся новый объект соответствующего типа класса, основанный на информации в UnresolvedPermission.

Для создания нового класса, UnresolvedPermission предполагает, что класс предоставляет конструктор с нулем, одним или двумя аргументами. Конструктор без аргументов используется для создания разрешения без имени и без действий. Предполагается, что конструктор с одним аргументом принимает имя String, а конструктор с двумя аргументами — имя String и String действия. UnresolvedPermission может вызвать конструктор с именем null и/или действиями. Если подходящий конструктор разрешения недоступен, UnresolvedPermission игнорируется, и соответствующее разрешение не будет предоставлено выполняемому коду.

Созданный объект разрешения заменяет UnresolvedPermission, который удаляется.

Обратите внимание, что метод getName для UnresolvedPermission возвращает type (имя класса) для базового разрешения, которое не было разрешено.

С момента:
1.2
См. также:
  • Permission
  • Permissions
  • PermissionCollection
  • Policy
  • Сериализованная форма

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

Конструктор Описание
UnresolvedPermission(String type, String name, String actions, Certificate[] certs)
Создаёт новый UnresolvedPermission, содержащий информацию о разрешении, необходимую для фактического создания разрешения указанного класса, когда разрешение разрешено.

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

Модификатор и тип Метод Описание
boolean equals(Object obj)
Проверяет два объекта UnresolvedPermission на равенство.
String getActions()
Возвращает каноническое строковое представление действий, которое в настоящее время является пустой строкой "", так как для UnresolvedPermission нет действий.
String getUnresolvedActions()
Получить действия для базового разрешения, которое не было разрешено.
Certificate[] getUnresolvedCerts()
Получить сертификаты подписи (без какой-либо поддерживающей цепочки) для базового разрешения, которое не было разрешено.
String getUnresolvedName()
Получить имя цели базового разрешения, которое не было разрешено.
String getUnresolvedType()
Получить тип (имя класса) базового разрешения, которое не было разрешено.
int hashCode()
Возвращает значение кода хэша для этого объекта.
boolean implies(Permission p)
Этот метод всегда возвращает false для неразрешённых разрешений.
PermissionCollection newPermissionCollection()
Возвращает новый объект PermissionCollection для хранения объектов UnresolvedPermission.
String toString()
Возвращает строку, описывающую этот UnresolvedPermission.

Методы, объявленные в классе java.security.Permission

checkGuard, getName

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

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

UnresolvedPermission

public UnresolvedPermission(String type, String name, String actions, Certificate[] certs)
Создаёт новый UnresolvedPermission , содержащий информацию о разрешении, необходимую для последующего создания разрешения указанного класса, когда разрешение будет разрешено.
Параметры:
type - имя класса разрешения, которое будет создано, когда это неразрешённое разрешение будет разрешено.
name - имя разрешения.
actions - действия разрешения.
certs - сертификаты, которыми был подписан класс разрешения. Это список цепочек сертификатов, где каждая цепочка состоит из сертификата подписывающего лица и, необязательно, его поддерживающей цепочки сертификатов. Каждая цепочка упорядочена снизу вверх (т.е. сертификат подписывающего лица первым, а (корневой) сертификат удостоверяющего центра последним). Сертификаты подписывающего лица копируются из массива. Последующие изменения в массиве не повлияют на это UnresolvedPermission.

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

implies

public boolean implies(Permission p)
Этот метод всегда возвращает false для неразрешённых разрешений. То есть, одно неразрешённое разрешение никогда не считается подразумевающим другое разрешение.
Определено в:
implies в классе Permission
Параметры:
p - разрешение для проверки.
Возвращает:
false.

equals

public boolean equals(Object obj)
Сравнивает два объекта UnresolvedPermission на равенство. Проверяет, что obj является объектом UnresolvedPermission, и имеет то же имя типа (класса), имя разрешения, действия и сертификаты, что и этот объект.

Для определения равенства сертификатов этот метод сравнивает только фактические сертификаты подписывающего лица. Поддерживающие цепочки сертификатов в этом методе не учитываются.

Определено в:
equals в классе Permission
Параметры:
obj - объект, с которым сравнивается этот объект на равенство.
Возвращает:
true, если obj является объектом UnresolvedPermission, и имеет то же имя типа (класса), имя разрешения, действия и сертификаты, что и этот объект.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public int hashCode()
Возвращает хэш-код для этого объекта.
Определено в:
hashCode в классе Permission
Возвращает:
значение хэш-кода для этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

getActions

public String getActions()
Возвращает каноническое строковое представление действий, которое в данный момент является пустой строкой "", поскольку для UnresolvedPermission нет действий. То есть, действия разрешения, которое будет создано при разрешении этого UnresolvedPermission , могут быть не null, но само UnresolvedPermission никогда не считается имеющим действия.
Определено в:
getActions в классе Permission
Возвращает:
пустую строку "".

getUnresolvedType

public String getUnresolvedType()
Получить тип (имя класса) базового разрешения, которое ещё не было разрешено.
Возвращает:
тип (имя класса) базового разрешения, которое ещё не было разрешено
С:
1.5

getUnresolvedName

public String getUnresolvedName()
Получить целевое имя базового разрешения, которое ещё не было разрешено.
Возвращает:
целевое имя базового разрешения, которое ещё не было разрешено, или null, если целевое имя отсутствует
С:
1.5

getUnresolvedActions

public String getUnresolvedActions()
Получить действия для базового разрешения, которое ещё не было разрешено.
Возвращает:
действия для базового разрешения, которое ещё не было разрешено, или null , если действия отсутствуют
С:
1.5

getUnresolvedCerts

public Certificate[] getUnresolvedCerts()
Получить сертификаты подписывающего лица (без какой-либо поддерживающей цепочки) для базового разрешения, которое ещё не было разрешено.
Возвращает:
сертификаты подписывающего лица для базового разрешения, которое ещё не было разрешено, или null, если сертификаты подписывающего лица отсутствуют. Каждый раз при вызове этого метода возвращается новый массив.
С:
1.5

toString

public String toString()
Возвращает строку, описывающую этот UnresolvedPermission. Конвенция заключается в указании имени класса, имени разрешения и действий в следующем формате: '(unresolved "ИмяКласса" "имя" "действия")'.
Переопределяет:
toString в классе Permission
Возвращает:
информация об этом UnresolvedPermission.

newPermissionCollection

public PermissionCollection newPermissionCollection()
Возвращает новый объект PermissionCollection для хранения объектов UnresolvedPermission.
Переопределяет:
newPermissionCollection в классе Permission
Возвращает:
новый объект PermissionCollection, подходящий для хранения объектов UnresolvedPermissions.

© 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/UnresolvedPermission.html

Spec-Zone.ru

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