Spec-Zone.ru › OpenJDK 24

Класс MBeanPermission

java.lang.Object
java.security.Permission
javax.management.MBeanPermission
Все реализованные интерфейсы:
Serializable, Guard
public class MBeanPermission extends Permission

Разрешение, контролирующее доступ к операциям MBeanServer. Если менеджер безопасности был задан с помощью System.setSecurityManager(java.lang.SecurityManager), большинство операций над сервером MBean требуют, чтобы разрешения вызывающего кода подразумевали MBeanPermission, подходящее для данной операции. Это подробно описано в документации для интерфейса MBeanServer.

Как и другие объекты Permission, MBeanPermission может представлять как разрешение, которым вы располагаете, так и разрешение, которое вам необходимо. При проверке разрешения на чувствительную операцию создается MBeanPermission, представляющий необходимое разрешение. Операция разрешается только в том случае, если имеющиеся у вас разрешения подразумевают необходимое разрешение.

MBeanPermission содержит четыре элемента информации:

  • Действие. Для необходимого разрешения это одно из действий в списке ниже. Для имеющегося разрешения это список действий, разделённых запятыми, или *, представляющее все действия.

    Действие возвращается методом getActions().

  • Имя класса.

    Для необходимого разрешения это имя класса MBean, к которому осуществляется доступ, возвращаемое методом MBeanServer.getMBeanInfo(name).getClassName(). Некоторые операции не ссылаются на имя класса, в этом случае имя класса равно null.

    Для имеющегося разрешения это либо пустая строка, либо шаблон имени класса. Шаблон имени класса — это строка, следующая соглашениям Java для имён классов, разделённых точками. Он может заканчиваться ".*", что означает, что разрешение предоставляет доступ к любому классу, начинающемуся со строки перед ".*". Например, "javax.management.*" предоставляет доступ к javax.management.MBeanServerDelegate и javax.management.timer.Timer, среди других классов.

    Шаблон имени класса также может быть пустым или состоять из одиночного символа "*", оба варианта предоставляют доступ ко всем классам.

  • Член.

    Для необходимого разрешения это имя атрибута или операции, к которым осуществляется доступ. Для операций, не ссылающихся на атрибут или операцию, член равен null.

    Для имеющегося разрешения это либо имя атрибута или операции, к которым вы имеете доступ, либо пустая строка или одиночный символ "*", оба варианта предоставляют доступ к любому члену.

  • Имя объекта.

    Для необходимого разрешения это имя ObjectName MBean, к которому осуществляется доступ. Для операций, не ссылающихся на один MBean, оно равно null. Оно никогда не является шаблоном имени объекта.

    Для имеющегося разрешения это имя ObjectName MBean или MBeans, к которым вы имеете доступ. Это может быть шаблон имени объекта, чтобы предоставить доступ ко всем MBean, имена которых соответствуют шаблону. Это также может быть пустой строкой, что предоставляет доступ ко всем MBean, независимо от их имени.

Если у вас есть MBeanPermission, он разрешает операции только если все четыре элемента совпадают.

Имя класса, член и имя объекта могут быть объединены в одну строку, которая является именем этого разрешения. Имя разрешения — это строка, возвращаемая методом getName(). Формат строки:

className#member[objectName]

Имя объекта записывается с использованием обычного синтаксиса для ObjectName. Оно может содержать любые допустимые символы, включая ]. Оно завершается символом ], который является последним символом в строке.

Один или несколько из className, member или objectName могут быть опушены. Если опущено member, то # может быть опущено (но необязательно). Если опущено objectName, то [] может быть опущено (но необязательно). Недопустимо опустить все три элемента, то есть иметь имя, равное пустой строке.

Один или несколько из className, member или objectName могут быть символом "-", что эквивалентно значению null. Значение null подразумевается любым значением (включая другое значение null), но не подразумевает никакое другое значение.

Возможные действия:

  • addNotificationListener
  • getAttribute
  • getClassLoader
  • getClassLoaderFor
  • getClassLoaderRepository
  • getDomains
  • getMBeanInfo
  • getObjectInstance
  • instantiate
  • invoke
  • isInstanceOf
  • queryMBeans
  • queryNames
  • registerMBean
  • removeNotificationListener
  • setAttribute
  • unregisterMBean

В списке действий, разделённом запятыми, разрешается использование пробелов до и после каждого действия.

Примечание API:
Это разрешение не может быть использовано для управления доступом к ресурсам, поскольку менеджер безопасности больше не поддерживается.
С тех пор:
1.5
См. также:
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
MBeanPermission(String name, String actions)
Создает новый объект MBeanPermission с указанным именем целевого объекта и действиями.
MBeanPermission(String className, String member, ObjectName objectName, String actions)
Создает новый объект MBeanPermission с указанным именем целевого объекта (имя класса, член, имя объекта) и действиями.

Краткое описание методов

Модификатор и тип Метод Описание
boolean equals(Object obj)
Проверяет равенство двух объектов MBeanPermission.
String getActions()
Возвращает «каноническое строковое представление» действий.
int hashCode()
Возвращает хэш-код для этого объекта.
boolean implies(Permission p)
Проверяет, подразумевает ли этот объект MBeanPermission указанное разрешение.

Методы, унаследованные от класса java.security.Permission

checkGuard, getName, newPermissionCollection, toString

Методы, унаследованные от класса java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

MBeanPermission

public MBeanPermission(String name, String actions)

Создайте новый объект MBeanPermission с указанным целевым именем и действиями.

Имя целевого объекта имеет вид "className#member[objectName]", где каждая часть необязательна. Оно не должно быть пустым или нулевым.

Параметр actions содержит список действий, разделенных запятыми, предоставляемых для целевого объекта. Он не должен быть пустым или нулевым.

Параметры:
name - тройка "className#member[objectName]".
actions - строка действий.
Исключения:
IllegalArgumentException - если name или actions некорректны.

MBeanPermission

public MBeanPermission(String className, String member, ObjectName objectName, String actions)

Создайте новый объект MBeanPermission с указанным именем целевого объекта (имя класса, имя члена, имя объекта) и действиями.

Параметры имя класса, имя члена и имя объекта определяют целевое имя в формате "className#member[objectName]", где каждая часть необязательна. Это будет результатом Permission.getName() для полученного MBeanPermission.

Параметр actions содержит список действий, разделенных запятыми, предоставляемых для целевого объекта. Он не должен быть пустым или нулевым.

Параметры:
className - имя класса, к которому относится разрешение. Может быть null или "-", что представляет имя класса, подразумеваемое любым именем класса, но не подразумевающее никакое другое имя класса.
member - имя члена, к которому относится разрешение. Может быть null или "-", что представляет член, подразумеваемый любым членом, но не подразумевающий никакой другой член.
objectName - имя объекта, к которому относится разрешение. Может быть null, что означает имя объекта, подразумеваемое любым именем объекта, но не подразумевающее никакое другое имя объекта.
actions - строка действий.

Подробное описание методов

getActions

public String getActions()
Возвращает «каноническое строковое представление» действий. То есть, этот метод всегда возвращает присутствующие действия в алфавитном порядке.
Определено в:
getActions в классе Permission
Возвращает:
каноническое строковое представление действий.

hashCode

public int hashCode()
Возвращает хэш-код для этого объекта.
Определено в:
hashCode в классе Permission
Возвращает:
хэш-код для этого объекта.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

implies

public boolean implies(Permission p)

Проверяет, "подразумевает" ли этот объект MBeanPermission указанное разрешение.

Более конкретно, этот метод возвращает true, если:

  • p является экземпляром MBeanPermission;
  • p имеет null className или className p совпадает с className этого объекта;
  • p имеет null member или member p совпадает с member этого объекта;
  • p имеет null object name или object name p совпадает с object name этого объекта;
  • действия p являются подмножеством действий этого объекта

Если className этого объекта равен "*", className p всегда совпадает с ним. Если это "a.*", className p совпадает с ним, если начинается с "a.".

Если member этого объекта равен "*", member p всегда совпадает с ним.

Если objectName n1 этого объекта является шаблоном имени объекта, objectName n2 p совпадает с ним, если n1.equals(n2) или если n1.apply(n2).

Разрешение, которое включает действие queryMBeans, считается включающим также queryNames.

Определено в:
implies в классе Permission
Параметры:
p - разрешение для проверки.
Возвращает:
true, если указанное разрешение подразумевается этим объектом, false в противном случае.

equals

public boolean equals(Object obj)
Проверяет равенство двух объектов MBeanPermission. Проверяет, что obj является MBeanPermission и имеет такое же имя и действия, как этот объект.
Определено в:
equals в классе Permission
Параметры:
obj - объект, с которым проверяется равенство.
Возвращает:
true, если obj является MBeanPermission и имеет такое же имя и действия, как этот объект MBeanPermission.
См. также:
  • Object.hashCode()
  • HashMap

© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.management/javax/management/MBeanPermission.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API