Spec-Zone.ru › OpenJDK 8

Класс Permissions

  • java.lang.Object
    • java.security.PermissionCollection
      • java.security.Permissions
Все реализованные интерфейсы:
Serializable

public final class Permissions
extends PermissionCollection
implements Serializable

Этот класс представляет собой неоднородную коллекцию разрешений. То есть, он содержит различные типы объектов Permission, организованные в PermissionCollections. Например, если любые java.io.FilePermission объекты добавляются в экземпляр этого класса, они все хранятся в одной PermissionCollection. Это PermissionCollection, возвращаемое вызовом метода newPermissionCollection в классе FilePermission. Аналогично, любые java.lang.RuntimePermission объекты хранятся в PermissionCollection, возвращаемом вызовом метода newPermissionCollection в классе RuntimePermission. Таким образом, этот класс представляет собой коллекцию PermissionCollections.

Когда вызывается метод add для добавления разрешения, разрешение хранится в соответствующей PermissionCollection. Если такой коллекции ещё нет, определяется класс объекта Permission, и вызывается метод newPermissionCollection этого класса для создания PermissionCollection и добавления его в объект Permissions. Если newPermissionCollection возвращает null, то создаётся и используется по умолчанию PermissionCollection, использующая хэш-таблицу. Каждый элемент хэш-таблицы хранит объект Permission как ключ, так и значение.

Перечисления, возвращаемые методом elements , не являются fail-fast. Изменения в коллекции не должны выполняться во время перебора этой коллекции.

См. также:
Permission, PermissionCollection, AllPermission

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

Конструктор и описание
Permissions()

Создаёт новый объект Permissions, не содержащий PermissionCollections.

Методы

Модификатор и тип Метод и описание
void add(Permission permission)

Добавляет объект разрешения в PermissionCollection для класса, к которому относится разрешение.

Enumeration<Permission> elements()

Возвращает перечисление всех объектов Permission во всех PermissionCollections в этом объекте Permissions.

boolean implies(Permission permission)

Проверяет, подразумевает ли PermissionCollection для разрешений указанного класса этого объекта разрешения, выраженные в объекте permission.

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

isReadOnly, setReadOnly, toString

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

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

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

Permissions

public Permissions()

Создаёт новый объект Permissions, не содержащий PermissionCollections.

Методы

add

public void add(Permission permission)

Добавляет объект разрешения в PermissionCollection для класса, к которому относится разрешение. Например, если permission является FilePermission, он добавляется в FilePermissionCollection, хранящийся в этом объекте Permissions. Этот метод создаёт новый объект PermissionCollection (и добавляет в него разрешение), если соответствующая коллекция ещё не существует.

Определено в:
add в классе PermissionCollection
Параметры:
permission - объект Permission, который нужно добавить.
Исключения:
SecurityException - если этот объект Permissions помечен как только для чтения.
См. также:
PermissionCollection.isReadOnly()

implies

public boolean implies(Permission permission)

Проверяет, подразумевает ли PermissionCollection для разрешений указанного класса этого объекта разрешения, выраженные в объекте permission. Возвращает true, если сочетание разрешений в соответствующей PermissionCollection (например, FilePermissionCollection для FilePermission) вместе подразумевают указанное разрешение.

Например, предположим, что в этом объекте Permissions есть FilePermissionCollection, и он содержит одно FilePermission, которое определяет доступ для чтения для всех файлов во всех подкаталогах каталога "/tmp", и другое FilePermission, которое определяет доступ для записи для всех файлов в каталоге "/tmp/scratch/foo". Тогда, если метод implies вызывается с разрешением, указывающим доступ для чтения и записи к файлам в каталоге "/tmp/scratch/foo", возвращается true.

Кроме того, если эта PermissionCollection содержит AllPermission, этот метод всегда возвращает true.

Определено в:
implies в классе PermissionCollection
Параметры:
permission - объект Permission для проверки.
Возвращает:
true, если "permission" подразумевается разрешениями в PermissionCollection, к которой он принадлежит, false в противном случае.

elements

public Enumeration<Permission> elements()

Возвращает перечисление всех объектов Permission во всех PermissionCollections в этом объекте Permissions.

Определено в:
elements в классе PermissionCollection
Возвращает:
перечисление всех Permissions.

© 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