OpenMBeanInfo (Java SE 10 & JDK 10 )
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

    All Methods Instance Methods Abstract Methods
    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 Detail

    - #### 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