Spec-Zone.ru › OpenJDK 8

Класс MBeanInfo

  • java.lang.Object
    • javax.management.MBeanInfo
Все реализуемые интерфейсы:
Serializable, Cloneable, DescriptorRead
Непосредственные известные подклассы:
ModelMBeanInfoSupport, OpenMBeanInfoSupport

public class MBeanInfo
extends Object
implements Cloneable, Serializable, DescriptorRead

Описывает интерфейс управления, предоставляемый MBean; то есть набор атрибутов и операций, доступных для операций управления. Экземпляры этого класса неизменяемы. Подклассы могут быть изменяемыми, но это не рекомендуется.

Обычно MBeanInfo для любого данного MBean не меняется в течение срока службы этого MBean. Динамические MBean могут изменять свой MBeanInfo и в этом случае рекомендуется, чтобы они излучали Notification с типом type "jmx.mbean.info.changed" и userData, который является новым MBeanInfo. Это не обязательно, но предоставляет стандартный способ для клиентов MBean обнаруживать изменения. См. также поля immutableInfo и infoTimeout в MBeanInfo Descriptor.

Содержимое MBeanInfo для динамического MBean определяется его методом getMBeanInfo(). Это включает Open MBean и Model MBean, которые являются видами Dynamic MBean.

Содержимое MBeanInfo для стандартного MBean определяется сервером MBean следующим образом:

  • getClassName() возвращает имя Java-класса объекта MBean;
  • getConstructors() возвращает список всех публичных конструкторов в этом объекте;
  • getAttributes() возвращает список всех атрибутов, существование которых выводится из наличия в интерфейсе MBean getName, isName, или setName метода, соответствующего соглашениям для стандартных MBean;
  • getOperations() возвращает список всех методов в интерфейсе MBean, которые не представляют собой атрибуты;
  • getNotifications() возвращает пустой массив, если MBean не реализует интерфейс NotificationBroadcaster, в противном случае результат вызова NotificationBroadcaster.getNotificationInfo() на нём;
  • getDescriptor() возвращает дескриптор, содержащий содержимое любых аннотаций дескриптора в интерфейсе MBean (см. @DescriptorKey).

Описание, возвращаемое getDescription(), и описания содержащихся атрибутов и операций не определены.

Остальные детали MBeanInfo для стандартного MBean не определены. Это включает описание любых содержащихся конструкторов и уведомлений; имена параметров конструкторов и операций; и описания параметров конструкторов.

Since:
1.5
См. также:
Сериализованная форма

Конструкторы

Конструктор и описание
MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications)

Создает MBeanInfo.

MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications, Descriptor descriptor)

Создаёт MBeanInfo.

Методы

Модификатор и тип Метод и описание
Object clone()

Возвращает неглубокую копию этого экземпляра.

boolean equals(Object o)

Сравнить этот MBeanInfo с другим.

MBeanAttributeInfo[] getAttributes()

Возвращает список атрибутов, доступных для управления.

String getClassName()

Возвращает имя класса Java объекта MBean, описываемого этим MBeanInfo.

MBeanConstructorInfo[] getConstructors()

Возвращает список публичных конструкторов MBean.

String getDescription()

Возвращает удобочитаемое описание MBean.

Descriptor getDescriptor()

Получить дескриптор этого MBeanInfo.

MBeanNotificationInfo[] getNotifications()

Возвращает список уведомлений, генерируемых MBean.

MBeanOperationInfo[] getOperations()

Возвращает список операций MBean.

int hashCode()

Возвращает значение хэш-кода для объекта.

String toString()

Возвращает строковое представление объекта.

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

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

Конструкторы

MBeanInfo

public MBeanInfo(String className,
                 String description,
                 MBeanAttributeInfo[] attributes,
                 MBeanConstructorInfo[] constructors,
                 MBeanOperationInfo[] operations,
                 MBeanNotificationInfo[] notifications)
          throws IllegalArgumentException

Создаёт MBeanInfo.

Параметры:
className - Имя Java-класса управляемого объекта (MBean), описываемого этим MBeanInfo. Это значение может быть любым синтаксически корректным именем Java-класса. Не обязательно, чтобы этот класс был известен серверу MBean или загрузчику классов MBean. Если это Java-класс, известный загрузчику классов MBean, рекомендуется, но не обязательно, чтобы общедоступные методы класса включали те, которые присутствуют в стандартном управляемом объекте (Standard MBean), реализующем атрибуты и операции в этом MBeanInfo.
description - Читабельное описание управляемого объекта (необязательно).
attributes - Список доступных атрибутов управляемого объекта. Может быть null, что эквивалентно массиву нулевой длины.
constructors - Список общедоступных конструкторов управляемого объекта. Может быть null, что эквивалентно массиву нулевой длины.
operations - Список операций управляемого объекта. Может быть null, что эквивалентно массиву нулевой длины.
notifications - Список издаваемых уведомлений. Может быть null, что эквивалентно массиву нулевой длины.
Исключения:
IllegalArgumentException

MBeanInfo

public MBeanInfo(String className,
                 String description,
                 MBeanAttributeInfo[] attributes,
                 MBeanConstructorInfo[] constructors,
                 MBeanOperationInfo[] operations,
                 MBeanNotificationInfo[] notifications,
                 Descriptor descriptor)
          throws IllegalArgumentException

Создаёт MBeanInfo.

Параметры:
className - Имя Java-класса управляемого объекта (MBean), описываемого этим MBeanInfo. Это значение может быть любым синтаксически корректным именем Java-класса. Не обязательно, чтобы этот класс был известен серверу MBean или загрузчику классов MBean. Если это Java-класс, известный загрузчику классов MBean, рекомендуется, но не обязательно, чтобы общедоступные методы класса включали те, которые присутствуют в стандартном управляемом объекте (Standard MBean), реализующем атрибуты и операции в этом MBeanInfo.
description - Читабельное описание управляемого объекта (необязательно).
attributes - Список доступных атрибутов управляемого объекта. Может быть null, что эквивалентно массиву нулевой длины.
constructors - Список общедоступных конструкторов управляемого объекта. Может быть null, что эквивалентно массиву нулевой длины.
operations - Список операций управляемого объекта. Может быть null, что эквивалентно массиву нулевой длины.
notifications - Список издаваемых уведомлений. Может быть null, что эквивалентно массиву нулевой длины.
descriptor - Дескриптор управляемого объекта. Может быть null, что эквивалентно пустому дескриптору.
Исключения:
IllegalArgumentException
С:
1.6

Методы

clone

public Object clone()

Возвращает поверхностную копию этого экземпляра. Копия получается путём вызова super.clone(), что вызывает стандартный механизм поверхностного клонирования, реализованный в Object.clone(). Никакое глубокое клонирование внутренних полей не производится.

Поскольку этот класс неизменяем, метод clone в первую очередь интересен для подклассов.

Переопределяет:
clone в классе Object
Возвращает:
копию этого экземпляра.
См. также:
Cloneable

getClassName

public String getClassName()

Возвращает имя Java-класса управляемого объекта (MBean), описываемого этим MBeanInfo.

Возвращает:
имя класса.

getDescription

public String getDescription()

Возвращает удобочитаемое описание управляемого объекта.

Возвращает:
описание.

getAttributes

public MBeanAttributeInfo[] getAttributes()

Возвращает список атрибутов, доступных для управления. Каждый атрибут описывается объектом MBeanAttributeInfo. Возвращаемый массив является поверхностной копией внутреннего массива, что означает, что это копия внутреннего массива ссылок на объекты MBeanAttributeInfo , но каждый ссылающийся объект MBeanAttributeInfo не копируется.

Возвращает:
массив объектов MBeanAttributeInfo.

getOperations

public MBeanOperationInfo[] getOperations()

Возвращает список операций управляемого объекта. Каждая операция описывается объектом MBeanOperationInfo. Возвращаемый массив является поверхностной копией внутреннего массива, что означает, что это копия внутреннего массива ссылок на объекты MBeanOperationInfo , но каждый ссылающийся объект MBeanOperationInfo не копируется.

Возвращает:
массив объектов MBeanOperationInfo.

getConstructors

public MBeanConstructorInfo[] getConstructors()

Возвращает список общедоступных конструкторов управляемого объекта. Каждый конструктор описывается объектом MBeanConstructorInfo.

Возвращаемый массив является поверхностной копией внутреннего массива, что означает, что это копия внутреннего массива ссылок на объекты MBeanConstructorInfo , но каждый ссылающийся объект MBeanConstructorInfo не копируется.

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

Возвращает:
массив объектов MBeanConstructorInfo.

getNotifications

public MBeanNotificationInfo[] getNotifications()

Возвращает список уведомлений, издаваемых управляемым объектом. Каждое уведомление описывается объектом MBeanNotificationInfo. Возвращаемый массив является поверхностной копией внутреннего массива, что означает, что это копия внутреннего массива ссылок на объекты MBeanNotificationInfo , но каждый ссылающийся объект MBeanNotificationInfo не копируется.

Возвращает:
массив объектов MBeanNotificationInfo.

getDescriptor

public Descriptor getDescriptor()

Получить дескриптор этого MBeanInfo. Изменение возвращаемого значения не повлияет на исходный дескриптор.

Определено в:
getDescriptor в интерфейсе DescriptorRead
Возвращает:
дескриптор, который либо неизменяем, либо копия оригинального.
С:
1.6

toString

public String toString()

Описание скопировано из класса: Object

Возвращает строковое представление объекта. В общем случае метод toString возвращает строку, которая "текстово представляет" этот объект. Результат должен быть кратким, но информативным представлением, легко читаемым человеком. Рекомендуется переопределять этот метод во всех подклассах.

Метод toString для класса Object возвращает строку, состоящую из имени класса, к которому относится объект, символа `@', и представлении шестнадцатеричного кода хэша объекта. Другими словами, этот метод возвращает строку, равную значению:

getClass().getName() + '@' + Integer.toHexString(hashCode())
Переопределяет:
toString в классе Object
Возвращает:
строковое представление объекта.

equals

public boolean equals(Object o)

Сравнение этого MBeanInfo с другим. Два объекта MBeanInfo равны тогда и только тогда, когда они возвращают одинаковые значения для getClassName(), для getDescription() и для getDescriptor(), а массивы, возвращаемые двумя объектами для getAttributes(), getOperations(), getConstructors() и getNotifications() попарно равны. Здесь "равны" означает Object.equals(Object), а не тождественность.

Если два объекта MBeanInfo возвращают одинаковые значения в одном из своих массивов, но в разном порядке, то они не равны.

Переопределяет:
equals в классе Object
Параметры:
o - объект для сравнения.
Возвращает:
true, если и только если o является MBeanInfo, равным этому, согласно правилам выше.
См. также:
Object.hashCode(), HashMap

hashCode

public int hashCode()

Описание скопировано из класса: Object

Возвращает значение кода хэша объекта. Этот метод поддерживается для удобства хэш-таблиц, таких как те, что предоставляются HashMap.

Общий контракт метода hashCode:

  • Всякий раз, когда он вызывается на одном и том же объекте более одного раза во время выполнения Java-приложения, метод hashCode должен последовательно возвращать то же целое число, при условии, что информация, используемая в сравнениях equals объекта, не изменяется. Это целое число не должно оставаться постоянным от одного выполнения приложения к другому выполнению того же приложения.
  • Если два объекта равны согласно методу equals(Object) , то вызов метода hashCode для каждого из двух объектов должен генерировать то же целое число.
  • Не обязательно, чтобы если два объекта не равны согласно методу Object.equals(java.lang.Object), то вызов метода hashCode для каждого из двух объектов давал разные целочисленные результаты. Однако программист должен быть осведомлен о том, что получение различных целочисленных результатов для неравных объектов может улучшить производительность хэш-таблиц.

Насколько это практически возможно, метод hashCode, определенный классом Object , возвращает различные целые числа для различных объектов. (Это обычно реализуется преобразованием внутреннего адреса объекта в целое число, но такой метод реализации не является обязательным для Java™-программирования.)

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

© 1993, 2020, 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