Класс 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/PropertyPermission.html