|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Permission extends Object implements Guard, Serializable
Большинство Объектов полномочий также включает список "действий", который говорит действия, которые разрешаются для объекта. Например, для a java.io.FilePermission объект, имя разрешения является путем файла (или каталог), и список действий (такой как "считано, запишите"), определяет, какие действия предоставляют для указанного файла (или для файлов в указанном каталоге). Список действий является дополнительным для Объектов полномочий, такой как java.lang.RuntimePermission, это не нуждается в таком списке; Вы у любого есть именованное разрешение (такое как "system.exit") или Вы не делаете.
Важный метод, который должен быть реализован каждым подклассом, implies метод, чтобы сравнить Полномочия. В основном, "разрешение p1 подразумевает, что разрешение p2" означает, что, если Вам предоставляют разрешение p1, каждому естественно предоставляют разрешение p2. Таким образом это не тест равенства, а скорее больше теста подмножества.
Объекты полномочий подобны, чтобы Представить объекты в виде строки в этом, они являются неизменными, как только они были созданы. Подклассы не должны обеспечить методы, которые могут изменить состояние разрешения, как только оно было создано.
Permissions, PermissionCollection, Сериализированная Форма| Конструктор и Описание |
|---|
Permission(String name)
Создает разрешение с указанным именем.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
checkGuard(Object object)
Реализует интерфейс защиты для разрешения.
|
abstract boolean |
equals(Object obj)
Проверки два Объекта полномочий для равенства.
|
abstract String |
getActions()
Возвращает действия как Строку.
|
Строка |
getName()
Возвращает имя этого Разрешения.
|
abstract int |
hashCode()
Возвращает значение хэш-кода для этого Объекта полномочий.
|
abstract boolean |
implies(Permission permission)
Проверки, если действия указанного разрешения "подразумеваются действиями" этого объекта.
|
PermissionCollection |
newPermissionCollection()
Возвращает пустой PermissionCollection для данного Объекта полномочий, или нуль, если Вы не определяетесь.
|
Строка |
toString()
Возвращает строку, описывающую это Разрешение.
|
public Permission(String name)
name - имя создаваемого Объекта полномочий.public void checkGuard(Object object) throws SecurityException
SecurityManager.checkPermission метод вызывают, передавая этот объект полномочий как разрешение, чтобы проверить. Возвраты тихо, если доступ предоставляется. Иначе, бросает SecurityException.checkGuard в интерфейсе Guardobject - объект, который охраняют (в настоящий момент проигнорированный).SecurityException - если менеджер безопасности существует и checkPermission метод не предоставляет доступ.Guard, GuardedObject, SecurityManager.checkPermission(java.security.Permission)public abstract boolean implies(Permission permission)
Это должно быть реализовано подклассами Разрешения, поскольку они - единственные, которые могут наложить семантику на Объект полномочий.
implies метод используется AccessController, чтобы определить, подразумевается ли требуемое разрешение другим разрешением, которое, как известно, допустимо в текущем контексте выполнения.
permission - разрешение, чтобы проверить по.public abstract boolean equals(Object obj)
Не используйте equals метод для того, чтобы принять решения управления доступом; используйте implies метод.
equals в class Objectobj - объект мы тестируем на равенство с этим объектом.Object.hashCode(), HashMappublic abstract int hashCode()
Необходимое hashCode поведение для Объектов полномочий является следующим:
hashCode метод должен последовательно возвращать то же самое целое число. Эта целочисленная потребность не остается непротиворечивой от одного выполнения приложения к другому выполнению того же самого приложения.
equals метод, затем вызывая hashCode метод на каждом из этих двух Объектов полномочий должен привести к тому же самому целочисленному результату. hashCode в class ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public final String getName()
java.io.FilePermission, имя будет путем.public abstract String getActions()
perm1 = new FilePermission(p1,"read,write"); perm2 = new FilePermission(p2,"write,read");оба возврата "читали, пишут" когда
getActions метод вызывается.public PermissionCollection newPermissionCollection()
PermissionCollection.implies метод вызывают. Если нуль возвращается, то вызывающая сторона этого метода свободна сохранить полномочия этого, вводят любой PermissionCollection, который они выбирают (тот, который использует Хеш-таблицу, тот, который использует Вектор, и т.д.).public String toString()
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92