Spec-Zone.ru › OpenJDK 8

Класс ProtectionDomain

  • java.lang.Object
    • java.security.ProtectionDomain

public class ProtectionDomain
extends Object

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

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

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

Конструктор и описание
ProtectionDomain(CodeSource codesource, PermissionCollection permissions)

Создаёт новый ProtectionDomain с заданным CodeSource и Permissions.

ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)

Создаёт новый ProtectionDomain, квалифицированный заданным CodeSource, Permissions, ClassLoader и массивом принципалов.

Методы

Модификатор и тип Метод и описание
ClassLoader getClassLoader()

Возвращает ClassLoader этой области.

CodeSource getCodeSource()

Возвращает CodeSource этой области.

PermissionCollection getPermissions()

Возвращает статические разрешения, предоставленные этой области.

Principal[] getPrincipals()

Возвращает массив принципалов для этой области.

boolean implies(Permission permission)

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

String toString()

Преобразует ProtectionDomain в строку.

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

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

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

ProtectionDomain

public ProtectionDomain(CodeSource codesource,
                        PermissionCollection permissions)

Создаёт новый ProtectionDomain с заданным CodeSource и Permissions. Если объект permissions не null, то setReadOnly()) будет вызван для переданного объекта Permissions. Единственными разрешениями, предоставленными этой области, являются те, которые указаны; текущая политика не будет проконсультирована.

Параметры:
codesource - CodeSource, связанный с этой областью
permissions - разрешения, предоставленные этой области

ProtectionDomain

public ProtectionDomain(CodeSource codesource,
                        PermissionCollection permissions,
                        ClassLoader classloader,
                        Principal[] principals)

Создаёт новый ProtectionDomain, квалифицированный заданным CodeSource, Permissions, ClassLoader и массивом принципалов. Если объект permissions не null, то setReadOnly() будет вызван для переданного объекта Permissions. Разрешения, предоставленные этой области, динамические; они включают в себя как статические разрешения, переданные этому конструктору, так и любые разрешения, предоставленные этой области текущей политикой в момент проверки разрешения.

Этот конструктор обычно используется ClassLoaders и DomainCombiners, которые делегируют Policy для активной привязки разрешений, предоставленных этой области. Этот конструктор предоставляет поставщику политики возможность дополнить предоставленный PermissionCollection для отражения изменений политики.

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

Методы

getCodeSource

public final CodeSource getCodeSource()

Возвращает CodeSource этой области.

Возвращает:
CodeSource этой области, который может быть null.
Since:
1.2

getClassLoader

public final ClassLoader getClassLoader()

Возвращает ClassLoader этой области.

Возвращает:
ClassLoader этой области, который может быть null.
Since:
1.4

getPrincipals

public final Principal[] getPrincipals()

Возвращает массив принципалов для этой области.

Возвращает:
ненулевой массив принципалов для этой области. Возвращает новый массив каждый раз, когда вызывается этот метод.
Since:
1.4

getPermissions

public final PermissionCollection getPermissions()

Возвращает статические разрешения, предоставленные этой области.

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

implies

public boolean implies(Permission permission)

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

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

Если ProtectionDomain был создан для statically bound PermissionCollection, то разрешение будет проверено только по отношению к PermissionCollection, предоставленному при создании.

Однако, если ProtectionDomain был создан с вариантом конструктора, который поддерживает dynamically binding разрешения, то разрешение будет проверено по отношению к комбинации PermissionCollection, предоставленного при создании, и текущей политике привязки.

Параметры:
permission - объект Permission для проверки.
Возвращает:
true, если "разрешение" подразумевается этим ProtectionDomain.

toString

public String toString()

Преобразует ProtectionDomain в строку.

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

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

Spec-Zone.ru

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