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