Spec-Zone .ru
спецификации, руководства, описания, API
|
public final class FilePermission extends Permission implements Serializable
Путь является путем файла или каталога, предоставленного указанные действия. Путь, который заканчивается в "/*" (где "/" символ разделителя файлов, File.separatorChar
) указывает на все файлы и каталоги, содержавшиеся в том каталоге. Путь, который заканчивается "/-", указывает (рекурсивно) на все файлы и подкаталоги, содержавшиеся в том каталоге. Путь, состоящий из специального маркера" <<ВСЕ ФАЙЛЫ>>", соответствует любой файл.
Отметьте: путь, состоящий из сингла "*", указывает на все файлы в текущем каталоге, в то время как путь, состоящий из сингла "-", указывает на все файлы в текущем каталоге и (рекурсивно) все файлы и подкаталоги, содержавшиеся в текущем каталоге.
Действия, которые будут предоставлены, передают конструктору в строке, содержащей список один или более разделенные от запятой ключевые слова. Возможные ключевые слова "читаются", "пишут", "выполняют", "удаляют", и "readlink". Их значение определяется следующим образом:
Runtime.exec
быть вызванным. Соответствует SecurityManager.checkExec
. File.delete
быть вызванным. Соответствует SecurityManager.checkDelete
. readSymbolicLink
метод. Строка действий преобразовывается в нижний регистр перед обработкой.
Будьте осторожны, предоставляя FilePermissions. Думайте об импликациях предоставления чтения и особенно доступа для записи к различным файлам и каталогам." <<ВСЕ ФАЙЛЫ>>" разрешение с действием записи особенно опасно. Это предоставляет, что разрешение пишет во всю файловую систему. Одной вещью, которую это эффективно позволяет, является замена системного двоичного файла, включая среду выполнения JVM.
Пожалуйста, отметьте: Код может всегда читать файл из того же самого каталога, это находится в (или подкаталог того каталога); это не нуждается в явном разрешении, чтобы сделать так.
Permission
, Permissions
, PermissionCollection
Конструктор и Описание |
---|
FilePermission(String path, String actions)
Создает новый объект FilePermission с указанными действиями.
|
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
equals(Object obj)
Проверки два FilePermission возражают для равенства.
|
Строка |
getActions()
Возвращает "каноническое строковое представление" действий.
|
int |
hashCode()
Возвращает значение хэш-кода для этого объекта.
|
boolean |
implies(Permission p)
Проверки, если этот объект FilePermission "подразумевает" указанное разрешение.
|
PermissionCollection |
newPermissionCollection()
Возвращает новый объект PermissionCollection для того, чтобы хранить объекты FilePermission.
|
checkGuard, getName, toString
public FilePermission(String path, String actions)
Путь, который заканчивается в "/*" (где "/" символ разделителя файлов, File.separatorChar
) указывает на все файлы и каталоги, содержавшиеся в том каталоге. Путь, который заканчивается "/-", указывает (рекурсивно) на все файлы и подкаталоги, содержавшиеся в том каталоге. Специальный путь" <<ВСЕ ФАЙЛЫ>>" соответствует любой файл.
Путь, состоящий из сингла "*", указывает на все файлы в текущем каталоге, в то время как путь, состоящий из сингла "-", указывает на все файлы в текущем каталоге и (рекурсивно) все файлы и подкаталоги, содержавшиеся в текущем каталоге.
Путь, содержащий пустую строку, представляет пустой путь.
path
- путь файла/каталога.actions
- строка действия.IllegalArgumentException
- Если действия null
, пустой или содержит действие кроме указанных возможных действий.public boolean implies(Permission p)
Более определенно этот метод возвращает true если:
implies
в классе Permission
p
- разрешение, чтобы проверить по.true
если указанное разрешение не null
и подразумевается этим объектом, false
иначе.public boolean equals(Object obj)
equals
в классе Permission
obj
- объект мы тестируем на равенство с этим объектом.true
если obj является FilePermission, и имеет тот же самый путь и действия как этот объект FilePermission, false
иначе.Object.hashCode()
, HashMap
public int hashCode()
hashCode
в классе Permission
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public String getActions()
getActions
возвратит строку "чтение, записать".getActions
в классе Permission
public PermissionCollection newPermissionCollection()
Объекты FilePermission должны храниться способом, который позволяет им быть вставленными в набор в любом порядке, но это также включает PermissionCollection implies
метод, который будет реализован в эффективном (и непротиворечивый) способ.
Например, если у Вас есть два FilePermissions:
"/tmp/-", "read"
"/tmp/scratch/foo", "write"
и Вы вызываете implies
метод с FilePermission:
"/tmp/scratch/foo", "read,write",тогда
implies
функция должна принять во внимание и "/tmp/-" и "/tmp/scratch/foo" полномочия, таким образом, эффективное разрешение "читается, запишите", и implies
возвращает true. "Подразумевает", что семантика для FilePermissions обрабатывается должным образом объектом PermissionCollection, возвращенным этим newPermissionCollection
метод.newPermissionCollection
в классе Permission
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.