Spec-Zone.ru › OpenJDK 25

Класс MBeanPermission

java.lang.Object
java.security.Permission
javax.management.MBeanPermission
Все реализованные интерфейсы:
Serializable, Guard
@Deprecated(since="25", forRemoval=true) public class MBeanPermission extends Permission
Устарело, для удаления: этот элемент API может быть удалён в будущей версии.
Этот класс был полезен только в сочетании с диспетчером безопасности, который больше не поддерживается. Замены этому классу нет.

Разрешение, контролирующее доступ к операциям MBeanServer. Если диспетчер безопасности установлен с помощью System.setSecurityManager(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 или MBean-ов, к которым у вас есть доступ. Это может быть шаблон имени объекта, предоставляющий доступ ко всем 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)
Устарело, для удаления: этот элемент API может быть удалён в будущей версии.
Создаёт новый объект MBeanPermission с указанными целевым именем и действиями.
MBeanPermission(String className, String member, ObjectName objectName, String actions)
Устарело, для удаления: этот элемент API может быть удалён в будущей версии.
Создаёт новый объект MBeanPermission с указанными целевым именем (именем класса, элементом, именем объекта) и действиями.

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

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

Методы, объявленные в классе Permission

checkGuard, getName, newPermissionCollection, toString

Методы, объявленные в классе Object

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

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

MBeanPermission

public MBeanPermission(String name, String actions)
Устарело, для удаления: этот элемент API может быть удалён в будущей версии.

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

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

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

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

MBeanPermission

public MBeanPermission(String className, String member, ObjectName objectName, String actions)
Устарело, для удаления: этот элемент API может быть удалён в будущей версии.

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

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

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

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

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

getActions

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

hashCode

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

implies

public boolean implies(Permission p)
Устарело, для удаления: этот элемент API может быть удалён в будущей версии.

Проверяет, «включает» ли этот объект MBeanPermission указанное разрешение.

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

  • p является экземпляром MBeanPermission; и
  • имя класса p равно null или имя класса p совпадает с именем класса этого объекта; и
  • элемент p равен null или элемент p совпадает с элементом этого объекта; и
  • имя объекта p равно null или имя объекта p совпадает с именем объекта этого объекта; и
  • действия p входят в набор действий этого объекта

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

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

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

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

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

equals

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.management/javax/management/MBeanPermission.html

Spec-Zone.ru

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