Spec-Zone .ru
спецификации, руководства, описания, API
|
public class MBeanPermission extends Permission
Разрешение, управляющее доступом к операциям MBeanServer. Если менеджер безопасности был установлен, используя System.setSecurityManager(java.lang.SecurityManager)
, большинство операций на Сервере MBean требует, чтобы полномочия вызывающей стороны подразумевали MBeanPermission, подходящий для работы. Это описывается подробно в документации для MBeanServer
интерфейс.
Как с другим Permission
объекты, MBeanPermission может представить или разрешение, которое Вы имеете или разрешение, в котором Вы нуждаетесь. Когда секретная операция проверяется на разрешение, MBeanPermission создается, представляя разрешение, в котором Вы нуждаетесь. Работа только позволяется, если полномочия, которые Вы имеете, подразумевают разрешение, Вы нуждаетесь.
MBeanPermission содержит четыре единицы информации:
Действие. Для разрешения Вы нуждаетесь, это - одно из действий в списке ниже. Для разрешения Вы имеете, это - список разделенных запятой значений тех действий, или *
, представление всех действий.
Действие возвращается getActions()
.
Имя class.
Для разрешения Вы нуждаетесь, это - имя class MBean, которым Вы получаете доступ, как возвращено MBeanServer.getMBeanInfo(name)
.getClassName()
. Определенные операции не ссылаются на имя class, когда имя class является нулем.
Для разрешения Вы имеете, это или пусто или образец имени class. Образец имени class является строкой после соглашений Java для разделенных от точки имен class. Это может закончиться".*
"означая, что разрешение предоставляет доступ к любому class, который начинается со строки, предыдущей".*
". Например,"javax.management.*
"предоставляет доступ к javax.management.MBeanServerDelegate
и javax.management.timer.Timer
, среди других классов.
Образец имени class может также быть пустым или единственный символ"*
", оба из которых предоставляют доступ к любому class.
Элемент.
Для разрешения Вы нуждаетесь, это - имя атрибута или работы, к которой Вы получаете доступ. Для операций, которые не ссылаются на атрибут или работу, элемент является нулем.
Для разрешения Вы имеете, это - или имя атрибута или работа, к которой можно получить доступ, или это пусто или единственный символ"*
", оба из которых предоставляют доступ к любому элементу.
Имя объекта.
Для разрешения Вы нуждаетесь, это ObjectName
из MBean Вы получаете доступ. Для операций, которые не ссылаются на единственный MBean, это - нуль. Это никогда не образец имени объекта.
Для разрешения Вы имеете, это ObjectName
из MBean или MBeans можно получить доступ. Это может быть образец имени объекта, чтобы предоставить доступ ко всему MBeans, имена которого соответствуют образец. Это может также быть пусто, который предоставляет доступ ко всему MBeans вообще их имя.
Если у Вас есть MBeanPermission, он позволяет операции, только если все четыре из элементов соответствуют.
Имя class, элемент, и имя объекта могут быть записаны вместе как единственная строка, которая является именем этого разрешения. Имя разрешения является строкой, возвращенной getName()
. Формат строки:
className#member[objectName]
Имя объекта пишется, используя обычный синтаксис для ObjectName
. Это может содержать любые юридические символы, включая ]
. Это завершается a ]
символ, который является последним знаком в строке.
Один или больше className
, member
, или objectName
может быть опущен. Если member
опускается, #
может быть также (но не должен быть). Если objectName
опускается, []
может быть также (но не должен быть). Не законно опустить все три элемента, у которого должно быть имя, которое является пустой строкой.
Один или больше className
, member
, или objectName
может быть символ"-
", который эквивалентен нулевому значению. Нулевое значение подразумевается любым значением (включая другое нулевое значение), но не подразумевает никакое другое значение.
В списке разделенных запятой значений действий пробелы позволяются прежде и после каждого действия.
Конструктор и Описание |
---|
MBeanPermission(String name, String actions)
Создайте новый объект MBeanPermission с указанным целевым именем и действиями.
|
MBeanPermission(String className, String member, ObjectName objectName, String actions)
Создайте новый объект MBeanPermission с указанным целевым именем (имя class, элемент, имя объекта) и действия.
|
Модификатор и Тип | Метод и Описание |
---|---|
boolean |
equals(Object obj)
Проверки два MBeanPermission возражают для равенства.
|
Строка |
getActions()
Возвращает "каноническое строковое представление" действий.
|
int |
hashCode()
Возвращает значение хэш-кода для этого объекта.
|
boolean |
implies(Permission p)
Проверки, если этот объект MBeanPermission "подразумевает" указанное разрешение.
|
checkGuard, getName, newPermissionCollection, toString
public MBeanPermission(String name, String actions)
Создайте новый объект MBeanPermission с указанным целевым именем и действиями.
Целевое имя имеет форму"className#member[objectName]
"где каждая часть является дополнительной. Это не должно быть пустым или нулевым.
Параметр действий содержит список разделенных запятой значений требуемых действий, предоставленных на целевом имени. Это не должно быть пустым или нулевым.
name
- триплет "className#member [имя объекта]".actions
- строка действия.IllegalArgumentException
- если name
или actions
недопустимо.public MBeanPermission(String className, String member, ObjectName objectName, String actions)
Создайте новый объект MBeanPermission с указанным целевым именем (имя class, элемент, имя объекта) и действия.
Имя class, имя элемента и параметры имени объекта определяют целевое имя формы"className#member[objectName]
"где каждая часть является дополнительной. Это будет результатом Permission.getName()
на результирующем MBeanPermission.
Параметр действий содержит список разделенных запятой значений требуемых действий, предоставленных на целевом имени. Это не должно быть пустым или нулевым.
className
- имя class, к которому применяется это разрешение. Может быть нуль или "-"
, который представляет имя class, которое подразумевается любым именем class, но не подразумевает никакое другое имя class.member
- элемент, к которому применяется это разрешение. Может быть нуль или "-"
, который представляет элемент, который подразумевается любым элементом, но не подразумевает никакой другой элемент.objectName
- имя объекта, к которому применяется это разрешение. Может быть нуль, который представляет имя объекта, которое подразумевается любым именем объекта, но не подразумевает никакое другое имя объекта.actions
- строка действия.public String getActions()
getActions
в class Permission
public int hashCode()
hashCode
в class Permission
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean implies(Permission p)
Проверки, если этот объект MBeanPermission "подразумевает" указанное разрешение.
Более определенно этот метод возвращает true если:
Если имя класса этого объекта"*
", имя класса p всегда соответствует это. Если это"a.*
", имя класса p соответствует это, если это начинается"a.
".
Если элемент этого объекта"*
", элемент p всегда соответствует это.
Если имя объекта этого объекта n1 является образцом имени объекта, имя объекта p n2 соответствует его если n1.equals(n2)
или если n1.apply(n2)
.
Разрешение, которое включает queryMBeans
действие, как полагают, включает queryNames
также.
implies
в class Permission
p
- разрешение, чтобы проверить по.public boolean equals(Object obj)
equals
в class Permission
obj
- объект мы тестируем на равенство с этим объектом.Object.hashCode()
, HashMap
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92