Spec-Zone.ru › OpenJDK 8

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

PermissionCollection, возвращаемый методом Permission.newPermissionCollection, представляет собой однородную коллекцию, хранящую только объекты Permission для заданного типа 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. Изменения в коллекции не должны выполняться во время перечисления по этой коллекции.

См. также:
Permission, Permissions, Формат сериализации

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

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

Методы

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

Добавляет объект разрешения в текущую коллекцию объектов разрешений.

abstract Enumeration<Permission> elements()

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

abstract boolean implies(Permission permission)

Проверяет, подразумевается ли заданное разрешение коллекцией объектов Permission, хранящихся в этом PermissionCollection.

boolean isReadOnly()

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

void setReadOnly()

Помечает этот объект PermissionCollection как "только для чтения".

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 помечен как только для чтения
IllegalArgumentException - - если этот объект PermissionCollection является однородной коллекцией, а разрешение не является правильного типа.

implies

public abstract boolean implies(Permission permission)

Проверяет, подразумевается ли заданное разрешение коллекцией объектов Permission, хранящихся в этом PermissionCollection.

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

elements

public abstract Enumeration<Permission> elements()

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

Возвращает:
перечисление всех Permissions.

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

Переопределяет:
toString в классе Object
Возвращает:
информация об этом объекте PermissionCollection, как описано выше.

© 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