Класс Permission
- Все реализованные интерфейсы:
Serializable, Guard
- Прямые известные подклассы:
AllPermission, BasicPermission, CardPermission, FilePermission, MBeanPermission, PrivateCredentialPermission, ServicePermission, SocketPermission, UnresolvedPermission, URLPermission
public abstract class Permission extends Object implements Guard, Serializable
Большинство объектов Permission также содержат список «действий», указывающий, какие действия разрешены для объекта. Например, для объекта java.io.FilePermission именем разрешения является путь к файлу (или каталогу), а список действий (например, "read, write") указывает, какие действия разрешены для указанного файла (или для файлов в указанном каталоге). Список действий необязателен для объектов Permission, таких как java.lang.RuntimePermission, которым такой список не нужен: либо у вас есть именованное разрешение (например, "system.exit"), либо его нет.
Важным методом, который должен быть реализован каждым подклассом, является метод implies для сравнения разрешений. По существу, «разрешение p1 подразумевает разрешение p2» означает, что при наличии разрешения p1 автоматически предоставляется и разрешение p2. Таким образом, это не проверка на равенство, а скорее проверка на включение.
Объекты Permission подобны объектам String тем, что после создания они являются неизменяемыми. Подклассам не следует предоставлять методы, способные изменять состояние разрешения после его создания.
- Начиная с:
- 1.2
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
Permission |
Создает разрешение с указанным именем. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
checkGuard |
Реализует интерфейс guard для разрешения. |
abstract boolean |
equals |
Проверяет два объекта Permission на равенство. |
abstract String |
getActions() |
Возвращает действия в виде String. |
final String |
getName() |
Возвращает имя этого Permission. |
abstract int |
hashCode() |
Возвращает значение хеш-кода этого объекта Permission. |
abstract boolean |
implies |
Проверяет, «подразумеваются ли» действия указанного разрешения действиями этого объекта. |
PermissionCollection |
newPermissionCollection() |
Возвращает пустой PermissionCollection для заданного объекта Permission или null, если он не определен. |
String |
toString() |
Возвращает строку с описанием этого Permission. |
Методы, объявленные в классе Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
protected void |
finalize() |
Устарел и подлежит удалению: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения указанного времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством вызова notify или interrupt, либо до истечения указанного времени. |
Подробное описание конструкторов
Permission
public Permission(String name)
- Параметры:
-
name— имя создаваемого объектаPermission.
Подробное описание методов
checkGuard
public void checkGuard(Object object) throws SecurityException
SecurityException.- Определен в:
-
checkGuardв интерфейсеGuard - Примечание API:
- Изначально этот метод выбрасывал
SecurityException, если был включен менеджер безопасности, а запрошенный доступ, заданный этим разрешением, не был разрешен. Менеджер безопасности больше не поддерживается; поэтому этот метод всегда выбрасываетSecurityException. - Параметры:
-
object— объект, доступ к которому контролируется (в настоящее время игнорируется). - Выбрасывает:
-
SecurityException— всегда - См. также:
implies
public abstract boolean implies(Permission permission)
Этот метод должны реализовать подклассы Permission, поскольку только они могут задавать семантику объекта Permission.
- Параметры:
-
permission— разрешение для проверки. - Возвращает:
-
true, если указанное разрешение подразумевается этим объектом, иfalseв противном случае.
equals
public abstract boolean equals(Object obj)
Permission на равенство. Не используйте метод equals для принятия решений об управлении доступом; используйте метод implies.
hashCode
public abstract int hashCode()
Permission. Требования к поведению метода hashCode для объектов Permission следующие:
- При каждом вызове для одного и того же объекта
Permissionв рамках выполнения Java-приложения методhashCodeдолжен возвращать одно и то же целое число. Это число не обязано оставаться неизменным при разных запусках одного и того же приложения. - Если два объекта
Permissionравны согласно методуequals, то вызов методаhashCodeдля каждого из этих двух объектовPermissionдолжен возвращать одинаковое целое число.
getName
public final String getName()
Permission. Например, в случае java.io.FilePermission именем будет путь.- Возвращает:
- имя этого
Permission.
getActions
public abstract String getActions()
String. Метод является абстрактным, чтобы подклассы могли отложить создание представления String до тех пор, пока оно не понадобится. Подклассы всегда должны возвращать действия в принятом для них каноническом виде. Например, два объекта FilePermission, созданные следующим образом: perm1 = new FilePermission(p1,"read,write"); perm2 = new FilePermission(p2,"write,read");оба возвращают "read,write" при вызове метода
getActions.- Возвращает:
- действия этого
Permission.
newPermissionCollection
public PermissionCollection newPermissionCollection()
PermissionCollection для заданного объекта Permission или null, если он не определен. Подклассам класса Permission следует переопределить этот метод, если для обеспечения корректной семантики при вызове метода PermissionCollection.implies им необходимо хранить разрешения в определенном объекте PermissionCollection. Если возвращается null, вызывающий этот метод может хранить разрешения данного типа в любом PermissionCollection по своему выбору (например, использующем Hashtable или Vector).- Возвращает:
- новый объект
PermissionCollectionдля данного типаPermissionилиnull, если он не определен.
toString
public String toString()
Permission. Принято указывать имя класса, имя разрешения и действия в следующем формате: '("ClassName" "name" "actions")' или '("ClassName" "name")', если список действий null или пуст.
© 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.