Spec-Zone.ru › OpenJDK 24

Класс ProtectionDomain

java.lang.Object
java.security.ProtectionDomain
public class ProtectionDomain extends Object
Класс ProtectionDomain инкапсулирует характеристики домена, который охватывает набор классов, экземпляры которых наделены набором разрешений.

Статический набор разрешений может быть привязан к ProtectionDomain во время его создания; такие разрешения предоставляются домену независимо от действующей политики. Однако для поддержки динамических политик безопасности ProtectionDomain также может быть создан таким образом, чтобы он динамически отображался на набор разрешений текущей политикой.

Примечание API:
Установка системного объекта Policy больше не поддерживается. Текущая политика текущей политики всегда является объектом Policy, который не предоставляет никаких разрешений.
С:
1.2

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

Конструктор Описание
ProtectionDomain(CodeSource codesource, PermissionCollection permissions)
Создает новый ProtectionDomain с заданным CodeSource и разрешениями.
ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)
Создает новый ProtectionDomain, квалифицированный заданным CodeSource, разрешениями, ClassLoader и массивом принципов.

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

Модификатор и тип Метод Описание
final ClassLoader getClassLoader()
Возвращает ClassLoader этого домена.
final CodeSource getCodeSource()
Возвращает CodeSource этого домена.
final PermissionCollection getPermissions()
Возвращает статические разрешения, предоставленные этому домену.
final Principal[] getPrincipals()
Возвращает массив принципов для этого домена.
boolean implies(Permission perm)
Проверяет, подразумевает ли этот ProtectionDomain разрешения, выраженные в объекте Permission.
final boolean staticPermissionsOnly()
Возвращает true, если этот домен содержит только статические разрешения и не проверяет текущую Policy.
String toString()
Преобразует ProtectionDomain в String.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

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

ProtectionDomain

public ProtectionDomain(CodeSource codesource, PermissionCollection permissions)
Создает новый ProtectionDomain с заданным CodeSource и разрешениями. Если permissions не null, то setReadOnly() будет вызван для переданных разрешений.

Разрешения, предоставленные этому домену, являются статическими, т.е. вызов метода staticPermissionsOnly() возвращает true. Они содержат только те, которые были переданы в этот конструктор, и текущая политика не будет использоваться.

Примечание API:
Установка системного объекта Policy больше не поддерживается. Текущая политика текущей политики всегда является объектом Policy, который не предоставляет никаких разрешений.
Параметры:
codesource - кодовое местоположение, связанное с этим домена
permissions - разрешения, предоставленные этому домену

ProtectionDomain

public ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)
Создает новый ProtectionDomain, квалифицированный заданным CodeSource, разрешениями, ClassLoader и массивом принципов. Если permissions не null, то setReadOnly() будет вызван для переданных разрешений.

Разрешения, предоставленные этому домену, являются динамическими, т.е. вызов метода staticPermissionsOnly() возвращает false. Они включают в себя как статические разрешения, переданные в этот конструктор, так и любые разрешения, предоставленные этому домену текущей политикой.

Примечание API:
Установка системного объекта Policy больше не поддерживается. Текущая политика текущей политики всегда является объектом Policy, который не предоставляет никаких разрешений.
Параметры:
codesource - кодовое местоположение, связанное с этим домена
permissions - разрешения, предоставленные этому домену
classloader - загрузчик классов, связанный с этим домена
principals - массив объектов принципов, связанных с этим домена. Содержимое массива копируется для защиты от последующих изменений.
С:
1.4
См. также:
  • Policy.getPermissions(ProtectionDomain)

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

getCodeSource

public final CodeSource getCodeSource()
Возвращает CodeSource этого домена.
Возвращает:
CodeSource этого домена, который может быть null.
С:
1.2

getClassLoader

public final ClassLoader getClassLoader()
Возвращает ClassLoader этого домена.
Возвращает:
ClassLoader этого домена, который может быть null.
С:
1.4

getPrincipals

public final Principal[] getPrincipals()
Возвращает массив принципов для этого домена.
Возвращает:
непустой массив принципов для этого домена. Возвращает новый массив каждый раз, когда вызывается этот метод.
С:
1.4

getPermissions

public final PermissionCollection getPermissions()
Возвращает статические разрешения, предоставленные этому домену.
Возвращает:
статический набор разрешений для этого домена, который может быть null.
См. также:
  • Policy.refresh()
  • Policy.getPermissions(ProtectionDomain)

staticPermissionsOnly

public final boolean staticPermissionsOnly()
Возвращает true, если этот домен содержит только статические разрешения и не проверяет текущую Policy.
Примечание API:
Установка системного объекта Policy больше не поддерживается. Текущая политика текущей политики всегда является объектом Policy, который не предоставляет никаких разрешений.
Возвращает:
true, если этот домен содержит только статические разрешения.
С:
9

implies

public boolean implies(Permission perm)
Проверяет, подразумевает ли этот ProtectionDomain разрешения, выраженные в объекте Permission.

Набор оцениваемых разрешений зависит от того, был ли ProtectionDomain создан со статическим набором разрешений или он был привязан к динамически отображаемому набору разрешений.

Если метод staticPermissionsOnly() возвращает true, то разрешение будет проверено только по отношению к PermissionCollection, предоставленному при создании.

В противном случае разрешение будет проверено по отношению к сочетанию PermissionCollection, предоставленному при создании, и текущей политике.

Примечание API:
Установка системного объекта Policy больше не поддерживается. Текущая политика текущей политики всегда является объектом Policy, который не предоставляет никаких разрешений.
Параметры:
perm - объект {code Permission} для проверки.
Возвращает:
true, если perm подразумевается этим ProtectionDomain.

toString

public String toString()
Преобразует ProtectionDomain в String.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта

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

Spec-Zone.ru

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