Spec-Zone.ru › OpenJDK 27

Класс PermissionCollection

java.lang.Object
java.security.PermissionCollection
Все реализуемые интерфейсы:
Serializable
Прямые известные подклассы:
Permissions
public abstract class PermissionCollection extends Object implements Serializable
Абстрактный класс, представляющий коллекцию объектов Permission.

С помощью PermissionCollection можно:

  • добавлять разрешение в коллекцию с помощью метода add.
  • проверять, подразумевается ли конкретное разрешение коллекцией, с помощью метода implies.
  • перечислять все разрешения с помощью метода elements.

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

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

При добавлении разрешения в неоднородный PermissionCollection, например Permissions, если PermissionCollection ещё не содержит PermissionCollection указанного типа разрешения, PermissionCollection должен вызвать метод newPermissionCollection класса разрешения, чтобы выяснить, требуется ли специальный PermissionCollection. Если newPermissionCollection возвращает null, PermissionCollection может хранить разрешение в любом желаемом типе PermissionCollection (например, использующем Hashtable, использующем Vector и т. д.). Например, объект Permissions использует стандартную реализацию PermissionCollection, которая хранит объекты разрешений в Hashtable.

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

Начиная с:
1.2
См. также:
  • Permission
  • Permissions
  • Сериализованная форма

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

Конструктор Описание
PermissionCollection()
Конструктор для вызова из подклассов.

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

Модификатор и тип Метод Описание
abstract void add(Permission permission)
Добавляет объект разрешения в текущую коллекцию объектов разрешений.
abstract Enumeration<Permission> elements()
Возвращает перечисление всех объектов Permission в коллекции.
Stream<Permission> elementsAsStream()
Возвращает поток всех объектов Permission в коллекции.
abstract boolean implies(Permission permission)
Проверяет, подразумевается ли указанное разрешение коллекцией объектов Permission, хранящихся в этом PermissionCollection.
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()
Заставляет текущий поток ожидать до пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать до пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать до пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.

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

PermissionCollection

public PermissionCollection()
Конструктор для вызова из подклассов.

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

add

public abstract void add(Permission permission)
Добавляет объект разрешения в текущую коллекцию объектов разрешений.
Параметры:
permission — объект Permission, который нужно добавить.
Исключения:
SecurityException — если этот объект PermissionCollection помечен как доступный только для чтения
IllegalArgumentException — если этот объект PermissionCollection является однородной коллекцией, а разрешение имеет неподходящий тип.

implies

public abstract boolean implies(Permission permission)
Проверяет, подразумевается ли указанное разрешение коллекцией объектов Permission, хранящихся в этом PermissionCollection.
Параметры:
permission — объект Permission для сравнения.
Возвращает:
true, если разрешение подразумевается разрешениями в коллекции, и false в противном случае.

elements

public abstract Enumeration<Permission> elements()
Возвращает перечисление всех объектов Permission в коллекции.
Возвращает:
перечисление всех разрешений.
См. также:
  • elementsAsStream()

elementsAsStream

public Stream<Permission> elementsAsStream()
Возвращает поток всех объектов Permission в коллекции.

Во время выполнения терминальной операции потока коллекцию не следует изменять (см. add(Permission)). В противном случае результат терминальной операции потока не определён.

Требования к реализации:
Реализация по умолчанию создаёт поток, источником которого служит перечисление, возвращаемое вызовом elements().
Возвращает:
поток всех разрешений.
Начиная с:
9

setReadOnly

public void setReadOnly()
Помечает этот объект PermissionCollection как «доступный только для чтения». После того как объект PermissionCollection помечен как доступный только для чтения, в него нельзя добавлять новые объекты Permission с помощью add.

isReadOnly

public boolean isReadOnly()
Возвращает true, если этот объект PermissionCollection помечен как доступный только для чтения. Если он доступен только для чтения, в него нельзя добавлять новые объекты Permission с помощью add.

По умолчанию объект не доступен только для чтения. Это состояние можно установить вызовом setReadOnly.

Возвращает:
true, если этот объект PermissionCollection помечен как доступный только для чтения, и false в противном случае.

toString

public String toString()
Возвращает строку с описанием этого объекта PermissionCollection, содержащую сведения обо всех разрешениях, которые он содержит. Формат:
super.toString() (
  // enumerate all the Permission
  // objects and call toString() on them,
  // one per line..
)
super.toString — это вызов метода toString суперкласса этого объекта, которым является Object. Результат представляет собой имя типа этой коллекции, за которым следует хеш-код объекта, что позволяет клиентам различать разные объекты PermissionCollection, даже если они содержат одинаковые разрешения.
Переопределяет:
toString в классе Object
Возвращает:
сведения об этом объекте PermissionCollection, как описано выше.

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