Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
void checkGuard(Object object)
Реализует интерфейс Guard для разрешения.
final String getName()
Возвращает имя этого Permission.
PermissionCollection newPermissionCollection()
Возвращает пустой PermissionCollection для заданного объекта Permission или null, если он не определён.
String toString()
Возвращает строку с описанием этого Permission.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
protected void finalize()
Устарело, для удаления: этот элемент API может быть удалён в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

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 className равен null или className объекта p совпадает с className этого объекта; и
  • у p member равен null или member объекта p совпадает с member этого объекта; и
  • у p имя объекта равно null или имя объекта p совпадает с именем объекта этого объекта; и
  • действия объекта p являются подмножеством действий этого объекта

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

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

Если objectName этого объекта n1 является шаблоном имени объекта, objectName объекта p n2 соответствует ему, если 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, 2026, 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.

Spec-Zone.ru

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