Класс PropertyPermission
- java.lang.Object
-
- java.security.Permission
-
- java.security.BasicPermission
-
- java.util.PropertyPermission
- Все реализованные интерфейсы:
- Serializable, Guard
public final class PropertyPermission extends BasicPermission
Этот класс предназначен для разрешений на свойства.
Имя — это имя свойства ("java.home", "os.name" и т. д.). Имена следуют соглашениям именования иерархических свойств. Также в конце имени после точки или самостоятельно может стоять звёздочка, обозначающая подстановочный символ. Например: "java.*" и "*" обозначают подстановочный символ, а "*java" и "a*b" — нет.
Действия, которые должны быть предоставлены, передаются в конструктор в строке, содержащей один или несколько ключевых слов, разделённых запятыми. Возможными ключевыми словами являются "read" и "write". Их значения определены следующим образом:
- read
- Разрешение на чтение. Разрешает вызов
System.getProperty. - write
- Разрешение на запись. Разрешает вызов
System.setProperty.
Строка действий преобразуется в нижний регистр перед обработкой.
Следует проявлять осторожность при предоставлении коду разрешения на доступ к определённым системным свойствам. Например, предоставление разрешения на доступ к системному свойству "java.home" предоставляет потенциально злонамеренному коду конфиденциальную информацию об окружении системы (директория установки Java). Кроме того, предоставление разрешения на доступ к системным свойствам "user.name" и "user.home" предоставляет потенциально злонамеренному коду конфиденциальную информацию об окружении пользователя (имя учётной записи пользователя и домашний каталог).
- С момента:
- 1.2
- См. также:
-
BasicPermission,Permission,Permissions,PermissionCollection,SecurityManager
Конструкторы
| Конструктор и описание |
|---|
PropertyPermission(String name,
String actions) Создаёт новый объект PropertyPermission с указанным именем. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
equals(Object obj) Проверяет равенство двух объектов PropertyPermission. |
String |
getActions() Возвращает «каноническое строковое представление» действий. |
int |
hashCode() Возвращает значение хэш-кода для этого объекта. |
boolean |
implies(Permission p) Проверяет, «подразумевает» ли этот объект PropertyPermission указанное разрешение. |
PermissionCollection |
newPermissionCollection() Возвращает новый объект PermissionCollection для хранения объектов PropertyPermission. |
Методы, унаследованные от класса java.security.Permission
checkGuard, getName, toString
Методы, унаследованные от класса java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Конструкторы
PropertyPermission
public PropertyPermission(String name,
String actions)
Создаёт новый объект PropertyPermission с указанным именем. Имя — это имя системного свойства, а actions содержит список разделённых запятыми желаемых действий, предоставляемых над свойством. Возможные действия — "read" и "write".
- Параметры:
-
name— имя PropertyPermission. -
actions— строка действий. - Исключения:
-
NullPointerException— еслиnameравноnull. -
IllegalArgumentException— еслиnameпустая илиactionsнедопустимая.
Методы
implies
public boolean implies(Permission p)
Проверяет, «поддерживает» ли этот объект PropertyPermission указанное разрешение.
Более конкретно, этот метод возвращает true, если:
- p является экземпляром PropertyPermission,
- действия p являются подмножеством действий этого объекта, и
- имя p подразумевается именем этого объекта. Например, "java.*" подразумевает "java.home".
- Переопределяет:
-
impliesв классеBasicPermission - Параметры:
-
p— разрешение для проверки. - Возвращает:
- true, если указанное разрешение подразумевается этим объектом, false — в противном случае.
equals
public boolean equals(Object obj)
Проверяет равенство двух объектов PropertyPermission. Проверяет, что obj является объектом PropertyPermission и имеет такое же имя и такие же действия, как у этого объекта.
- Переопределяет:
-
equalsв классеBasicPermission - Параметры:
-
obj— объект, с которым мы тестируем равенство этому объекту. - Возвращает:
- true, если obj является объектом PropertyPermission и имеет такое же имя и такие же действия, как и этот объект PropertyPermission.
- См. также:
-
Object.hashCode(),HashMap
hashCode
public int hashCode()
Возвращает значение хэш-кода для этого объекта. Использованный хэш-код — хэш-код имени этого разрешения, то есть getName().hashCode(), где getName из суперкласса Permission.
- Переопределяет:
-
hashCodeв классеBasicPermission - Возвращает:
- значение хэш-кода для этого объекта.
- См. также:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
getActions
public String getActions()
Возвращает «каноническое строковое представление» действий. То есть этот метод всегда возвращает присутствующие действия в следующем порядке: read, write. Например, если этот объект PropertyPermission допускает действия write и read, вызов getActions вернёт строку "read,write".
- Переопределяет:
-
getActionsв классеBasicPermission - Возвращает:
- каноническое строковое представление действий.
newPermissionCollection
public PermissionCollection newPermissionCollection()
Возвращает новый объект PermissionCollection для хранения объектов PropertyPermission.
- Переопределяет:
-
newPermissionCollectionв классеBasicPermission - Возвращает:
- новый объект PermissionCollection, подходящий для хранения PropertyPermission.
© 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.