Spec-Zone.ru › OpenJDK 27

Класс 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.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Финализация устарела и будет удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

ProtectionDomain

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

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

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

ProtectionDomain

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

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

Примечание API:
Установка общесистемного объекта Policy больше не поддерживается. Текущая политика всегда является объектом Policy, который не предоставляет разрешений.
Параметры:
codesource — CodeSource, связанный с этим доменом
permissions — разрешения, предоставленные этому домену
classloader — ClassLoader, связанный с этим доменом
principals — массив объектов Principal, связанных с этим доменом. Содержимое массива копируется для защиты от последующих изменений.
С версии:
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()
Возвращает массив субъектов этого домена.
Возвращает:
не равный null массив субъектов этого домена. При каждом вызове метода возвращается новый массив.
С версии:
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 — объект Permission для проверки.
Возвращает:
true, если perm подразумевается этим ProtectionDomain.

toString

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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