Spec-Zone.ru › OpenJDK 27

Класс Permissions

java.lang.Object
java.security.PermissionCollection
java.security.Permissions
Все реализуемые интерфейсы:
Serializable
public final class Permissions extends PermissionCollection implements Serializable
Этот класс представляет собой гетерогенную коллекцию разрешений. То есть он содержит объекты Permission различных типов, организованные в объекты PermissionCollection. Например, если в экземпляр этого класса добавлены какие-либо объекты java.io.FilePermission, все они хранятся в одном объекте PermissionCollection. Это объект PermissionCollection, возвращаемый при вызове метода newPermissionCollection в классе FilePermission. Аналогично, любые объекты java.lang.RuntimePermission хранятся в объекте PermissionCollection, возвращаемом при вызове метода newPermissionCollection в классе RuntimePermission. Таким образом, этот класс представляет собой коллекцию объектов PermissionCollection.

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

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

С версии:
1.2
См. также:
  • Permission
  • PermissionCollection
  • AllPermission

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

Конструктор Описание
Permissions()
Создает новый объект Permissions, не содержащий объектов PermissionCollection.

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

Модификатор и тип Метод Описание
void add(Permission permission)
Добавляет объект Permission в объект PermissionCollection для класса, которому принадлежит разрешение.
Enumeration<Permission> elements()
Возвращает перечисление всех объектов Permission во всех объектах PermissionCollection этого объекта Permissions.
boolean implies(Permission permission)
Проверяет, подразумевают ли разрешения из объекта PermissionCollection этого объекта для разрешений указанного класса разрешения, заданные в объекте permission.

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

elementsAsStream, isReadOnly, setReadOnly, toString
Модификатор и тип Метод Описание
Stream<Permission> elementsAsStream()
Возвращает поток всех объектов Permission в коллекции.
boolean isReadOnly()
Возвращает true, если этот объект PermissionCollection помечен как доступный только для чтения.
void setReadOnly()
Помечает этот объект PermissionCollection как доступный только для чтения.
String toString()
Возвращает строку с описанием этого объекта PermissionCollection, содержащую сведения обо всех разрешениях, которые он включает.

Методы, объявленные в классе 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, либо до истечения определенного промежутка реального времени.

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

Permissions

public Permissions()
Создает новый объект Permissions, не содержащий объектов PermissionCollection.

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

add

public void add(Permission 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 во всех объектах PermissionCollection этого объекта Permissions.
Указано в:
elements в классе PermissionCollection
Возвращает:
перечисление всех объектов Permission.
См. также:
  • PermissionCollection.elementsAsStream()

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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