OpenMBeanInfo (Java SE 15 & JDK 15)
Description: declaration: module: java.management, package: javax.management.openmbean, interface: OpenMBeanInfo
Keywords: javax.management.openmbean.OpenMBeanInfo interface

Module java.management
Package javax.management.openmbean

# Interface OpenMBeanInfo

All Known Implementing Classes:
  `OpenMBeanInfoSupport`

    public interface OpenMBeanInfo

Describes an Open MBean: an Open MBean is recognized as such if its `getMBeanInfo()` method returns an instance of a class which implements the `OpenMBeanInfo` interface, typically `OpenMBeanInfoSupport`.

This interface declares the same methods as the class `MBeanInfo`. A class implementing this interface (typically `OpenMBeanInfoSupport`) should extend `MBeanInfo`.

The `getAttributes()`, `getOperations()` and `getConstructors()` methods of the implementing class should return at runtime an array of instances of a subclass of `MBeanAttributeInfo`, `MBeanOperationInfo` or `MBeanConstructorInfo` respectively which implement the `OpenMBeanAttributeInfo`, `OpenMBeanOperationInfo` or `OpenMBeanConstructorInfo` interface respectively.

Since:
  1.5

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `boolean` | `equals​(Object obj)` | Compares the specified obj parameter with this `OpenMBeanInfo` instance for equality.
  `MBeanAttributeInfo[]` | `getAttributes()` | Returns an array of `OpenMBeanAttributeInfo` instances describing each attribute in the open MBean described by this `OpenMBeanInfo` instance.
  `String` | `getClassName()` | Returns the fully qualified Java class name of the open MBean instances this `OpenMBeanInfo` describes.
  `MBeanConstructorInfo[]` | `getConstructors()` | Returns an array of `OpenMBeanConstructorInfo` instances describing each constructor in the open MBean described by this `OpenMBeanInfo` instance.
  `String` | `getDescription()` | Returns a human readable description of the type of open MBean instances this `OpenMBeanInfo` describes.
  `MBeanNotificationInfo[]` | `getNotifications()` | Returns an array of `MBeanNotificationInfo` instances describing each notification emitted by the open MBean described by this `OpenMBeanInfo` instance.
  `MBeanOperationInfo[]` | `getOperations()` | Returns an array of `OpenMBeanOperationInfo` instances describing each operation in the open MBean described by this `OpenMBeanInfo` instance.
  `int` | `hashCode()` | Returns the hash code value for this `OpenMBeanInfo` instance.
  `String` | `toString()` | Returns a string representation of this `OpenMBeanInfo` instance.

- ## Method Details

  - ### getClassName

    String getClassName()
    Returns the fully qualified Java class name of the open MBean instances this `OpenMBeanInfo` describes.
    Returns:
      the class name.

  - ### getDescription

    String getDescription()
    Returns a human readable description of the type of open MBean instances this `OpenMBeanInfo` describes.
    Returns:
      the description.

  - ### getAttributes

    MBeanAttributeInfo[] getAttributes()
    Returns an array of `OpenMBeanAttributeInfo` instances describing each attribute in the open MBean described by this `OpenMBeanInfo` instance. Each instance in the returned array should actually be a subclass of `MBeanAttributeInfo` which implements the `OpenMBeanAttributeInfo` interface (typically `OpenMBeanAttributeInfoSupport`).
    Returns:
      the attribute array.

  - ### getOperations

    MBeanOperationInfo[] getOperations()
    Returns an array of `OpenMBeanOperationInfo` instances describing each operation in the open MBean described by this `OpenMBeanInfo` instance. Each instance in the returned array should actually be a subclass of `MBeanOperationInfo` which implements the `OpenMBeanOperationInfo` interface (typically `OpenMBeanOperationInfoSupport`).
    Returns:
      the operation array.

  - ### getConstructors

    MBeanConstructorInfo[] getConstructors()
    Returns an array of `OpenMBeanConstructorInfo` instances describing each constructor in the open MBean described by this `OpenMBeanInfo` instance. Each instance in the returned array should actually be a subclass of `MBeanConstructorInfo` which implements the `OpenMBeanConstructorInfo` interface (typically `OpenMBeanConstructorInfoSupport`).
    Returns:
      the constructor array.

  - ### getNotifications

    MBeanNotificationInfo[] getNotifications()
    Returns an array of `MBeanNotificationInfo` instances describing each notification emitted by the open MBean described by this `OpenMBeanInfo` instance.
    Returns:
      the notification array.

  - ### equals

    boolean equals​(Object obj)
    Compares the specified obj parameter with this `OpenMBeanInfo` instance for equality.

    Returns `true` if and only if all of the following statements are true:

    - obj is non null,
    - obj also implements the `OpenMBeanInfo` interface,
    - their class names are equal
    - their infos on attributes, constructors, operations and notifications are equal
    This ensures that this `equals` method works properly for obj parameters which are different implementations of the `OpenMBeanInfo` interface.
    Overrides:
      `equals` in class `Object`
    Parameters:
      `obj` - the object to be compared for equality with this `OpenMBeanInfo` instance;
    Returns:
      `true` if the specified object is equal to this `OpenMBeanInfo` instance.
    See Also:
      `Object.hashCode()`, `HashMap`

  - ### hashCode

    int hashCode()
    Returns the hash code value for this `OpenMBeanInfo` instance.

    The hash code of an `OpenMBeanInfo` instance is the sum of the hash codes of all elements of information used in `equals` comparisons (ie: its class name, and its infos on attributes, constructors, operations and notifications, where the hashCode of each of these arrays is calculated by a call to `new java.util.HashSet(java.util.Arrays.asList(this.getSignature)).hashCode()`).

    This ensures that `t1.equals(t2)` implies that `t1.hashCode()==t2.hashCode()` for any two `OpenMBeanInfo` instances `t1` and `t2`, as required by the general contract of the method `Object.hashCode()`.

    Overrides:
      `hashCode` in class `Object`
    Returns:
      the hash code value for this `OpenMBeanInfo` instance
    See Also:
      `Object.equals(java.lang.Object)`, `System.identityHashCode(java.lang.Object)`

  - ### toString

    String toString()
    Returns a string representation of this `OpenMBeanInfo` instance.

    The string representation consists of the name of this class (ie `javax.management.openmbean.OpenMBeanInfo`), the MBean class name, and the string representation of infos on attributes, constructors, operations and notifications of the described MBean.

    Overrides:
      `toString` in class `Object`
    Returns:
      a string representation of this `OpenMBeanInfo` instance