Spec-Zone.ru › OpenJDK 17

Класс 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. Если возвращается ненулевое значение, оно должно быть использовано. Если возвращается null, вызывающий метод newPermissionCollection свободен хранить разрешения данного типа в любом PermissionCollection по своему усмотрению (например, используя Hashtable или Vector).

PermissionCollection, возвращаемый методом Permission.newPermissionCollection, является однородной коллекцией, которая хранит только объекты Permission для заданного типа разрешения. PermissionCollection также может быть неоднородным. Например, Permissions - это подкласс PermissionCollection, представляющий коллекцию PermissionCollections. То есть, его элементы - это однородные PermissionCollection. Например, объект Permissions может содержать 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 помечен как readonly.
void setReadOnly()
Помечает этот объект PermissionCollection как "readonly".
String toString()
Возвращает строку, описывающую этот объект PermissionCollection, предоставляя информацию обо всех разрешениях, которые он содержит.

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

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

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

PermissionCollection

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

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

add

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

implies

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

elements

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

elementsAsStream

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

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

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

setReadOnly

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

isReadOnly

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

По умолчанию объект не readonly. Он может быть установлен в readonly вызовом setReadOnly.

Возвращает:
true, если этот объект PermissionCollection помечен как readonly, 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, за которым следует его хэш-код, что позволяет клиентам различать разные объекты PermissionCollection, даже если они содержат одинаковые разрешения.
Переопределяет:
toString в классе Object
Возвращает:
информация об этом объекте PermissionCollection, как описано выше.

© 1993, 2021, 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.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/security/PermissionCollection.html

Spec-Zone.ru

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