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
в интерфейсе Guard
object
- объект, который охраняют (в настоящий момент проигнорированный).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
в классе Object
obj
- объект мы тестируем на равенство с этим объектом.Object.hashCode()
, HashMap
public abstract int hashCode()
Необходимое hashCode
поведение для Объектов полномочий является следующим:
hashCode
метод должен последовательно возвращать то же самое целое число. Эта целочисленная потребность не остается непротиворечивой от одного выполнения приложения к другому выполнению того же самого приложения.
equals
метод, затем вызывая hashCode
метод на каждом из этих двух Объектов полномочий должен привести к тому же самому целочисленному результату. hashCode
в классе Object
Object.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 и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.