Класс ProtectionDomain
public class ProtectionDomain extends Object
ProtectionDomain инкапсулирует характеристики домена, в который входит набор классов, экземплярам которых предоставляется набор разрешений. Статический набор разрешений может быть связан с ProtectionDomain при его создании; такие разрешения предоставляются домену независимо от действующей политики. Однако для поддержки динамических политик безопасности ProtectionDomain также можно создать так, чтобы текущая политика динамически сопоставляла его с набором разрешений.
- Примечание к API:
- Установка общесистемного объекта
Policyбольше не поддерживается. Текущая политика всегда является объектомPolicy, который не предоставляет никаких разрешений. - С момента:
- 1.2
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ProtectionDomain |
Создает новый ProtectionDomain с указанными CodeSource и разрешениями. |
ProtectionDomain |
Создает новый ProtectionDomain, ограниченный указанными CodeSource, разрешениями, ClassLoader и массивом субъектов. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ClassLoader |
getClassLoader() |
Возвращает ClassLoader этого домена. |
final CodeSource |
getCodeSource() |
Возвращает CodeSource этого домена. |
final PermissionCollection |
getPermissions() |
Возвращает статические разрешения, предоставленные этому домену. |
final Principal[] |
getPrincipals() |
Возвращает массив субъектов этого домена. |
boolean |
implies |
Проверяет, подразумевает ли этот ProtectionDomain разрешения, выраженные в объекте Permission. |
final boolean |
staticPermissionsOnly() |
Возвращает true, если этот домен содержит только статические разрешения и не проверяет текущую Policy. |
String |
toString() |
Преобразует ProtectionDomain в String. |
Подробное описание конструкторов
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—CodeSource, связанный с этим доменом -
permissions— разрешения, предоставленные этому домену -
classloader—ClassLoader, связанный с этим доменом -
principals— массив объектовPrincipal, связанных с этим доменом. Содержимое массива копируется для защиты от последующего изменения. - С момента:
- 1.4
- См. также:
Подробное описание методов
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. - См. также:
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
© 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://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/security/ProtectionDomain.html