Класс 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 для добавления разрешения, разрешение хранится в соответствующем PermissionCollection. Если такой коллекции еще нет, определяется класс объекта Permission и вызывается метод newPermissionCollection этого класса для создания PermissionCollection и добавления его в объект Permissions. Если newPermissionCollection возвращает null, то создается и используется по умолчанию PermissionCollection, использующий хеш-таблицу. Каждый элемент хеш-таблицы хранит объект Permission как ключ, так и значение.
Перечисления, возвращаемые методом elements , не являются fail-fast. Изменения в коллекции не должны выполняться во время перебора этой коллекции.
- С тех пор:
- 1.2
- См. также:
-
Permission,PermissionCollection,AllPermission
Конструкторы
| Конструктор | Описание |
|---|---|
Permissions() |
Создает новый объект Permissions, не содержащий PermissionCollection. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add(Permission permission) |
Добавляет объект разрешения в PermissionCollection для класса, к которому принадлежит разрешение. |
Enumeration<Permission> |
elements() |
Возвращает перечисление всех объектов Permission во всех PermissionCollection в этом объекте Permissions. |
boolean |
implies(Permission permission) |
Проверяет, подразумевает ли PermissionCollection этого объекта для разрешений указанного класса разрешения, выраженные в объекте permission. |
Методы, объявленные в классе java.security.PermissionCollection
elementsAsStream, 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 - Возвращает:
- перечисление всех Permission.
- См. также:
PermissionCollection.elementsAsStream()
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/security/Permissions.html