# Class MBeanNotificationInfo

java.lang.Object
javax.management.MBeanFeatureInfo
javax.management.MBeanNotificationInfo

All Implemented Interfaces:
  `Serializable, Cloneable, DescriptorRead`

Direct Known Subclasses:
  `ModelMBeanNotificationInfo`

public class MBeanNotificationInfo extends MBeanFeatureInfo implements Cloneable

The `MBeanNotificationInfo` class is used to describe the characteristics of the different notification instances emitted by an MBean, for a given Java class of notification. If an MBean emits notifications that can be instances of different Java classes, then the metadata for that MBean should provide an `MBeanNotificationInfo` object for each of these notification Java classes.

Instances of this class are immutable. Subclasses may be mutable but this is not recommended.

This class extends `javax.management.MBeanFeatureInfo` and thus provides `name` and `description` fields. The `name` field should be the fully qualified Java class name of the notification objects described by this class.

The `getNotifTypes` method returns an array of strings containing the notification types that the MBean may emit. The notification type is a dot-notation string which describes what the emitted notification is about, not the Java class of the notification. A single generic notification class can be used to send notifications of several types. All of these types are returned in the string array result of the `getNotifTypes` method.

Since:
  1.5
See Also:
  - Serialized Form

- ## Field Summary

  ### Fields declared in class MBeanFeatureInfo

  `description, name`
  Modifier and Type
  Field
  Description
  `protected String`
  `description`
  The human-readable description of the feature.
  `protected String`
  `name`
  The name of the feature.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MBeanNotificationInfo(String[] notifTypes, String name, String description)`
  Constructs an `MBeanNotificationInfo` object.
  `MBeanNotificationInfo(String[] notifTypes, String name, String description, Descriptor descriptor)`
  Constructs an `MBeanNotificationInfo` object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  Returns a shallow clone of this instance.
  `boolean`
  `equals(Object o)`
  Compare this MBeanNotificationInfo to another.
  `String[]`
  `getNotifTypes()`
  Returns the array of strings (in dot notation) containing the notification types that the MBean may emit.

  ### Methods declared in class MBeanFeatureInfo

  `getDescription, getDescriptor, getName`
  Modifier and Type
  Method
  Description
  `String`
  `getDescription()`
  Returns the human-readable description of the feature.
  `Descriptor`
  `getDescriptor()`
  Returns the descriptor for the feature.
  `String`
  `getName()`
  Returns the name of the feature.

  ### Methods declared in class Object

  `finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### MBeanNotificationInfo

    public MBeanNotificationInfo(String[] notifTypes, String name, String description)
    Constructs an `MBeanNotificationInfo` object.
    Parameters:
      `notifTypes` - The array of strings (in dot notation) containing the notification types that the MBean may emit. This may be null with the same effect as a zero-length array.
      `name` - The fully qualified Java class name of the described notifications.
      `description` - A human readable description of the data.

  - ### MBeanNotificationInfo

    public MBeanNotificationInfo(String[] notifTypes, String name, String description, Descriptor descriptor)
    Constructs an `MBeanNotificationInfo` object.
    Parameters:
      `notifTypes` - The array of strings (in dot notation) containing the notification types that the MBean may emit. This may be null with the same effect as a zero-length array.
      `name` - The fully qualified Java class name of the described notifications.
      `description` - A human readable description of the data.
      `descriptor` - The descriptor for the notifications. This may be null which is equivalent to an empty descriptor.
    Since:
      1.6

- ## Method Details

  - ### clone

    public Object clone()
    Returns a shallow clone of this instance. The clone is obtained by simply calling `super.clone()`, thus calling the default native shallow cloning mechanism implemented by `Object.clone()`. No deeper cloning of any internal field is made.
    Overrides:
      `clone` in class `Object`
    Returns:
      a clone of this instance.
    See Also:
      - `Cloneable`

  - ### getNotifTypes

    public String[] getNotifTypes()
    Returns the array of strings (in dot notation) containing the notification types that the MBean may emit.
    Returns:
      the array of strings. Changing the returned array has no effect on this MBeanNotificationInfo.

  - ### equals

    public boolean equals(Object o)
    Compare this MBeanNotificationInfo to another.
    Overrides:
      `equals` in class `MBeanFeatureInfo`
    Parameters:
      `o` - the object to compare to.
    Returns:
      true if and only if `o` is an MBeanNotificationInfo such that its `MBeanFeatureInfo.getName()`, `MBeanFeatureInfo.getDescription()`, `MBeanFeatureInfo.getDescriptor()`, and `getNotifTypes()` values are equal (not necessarily identical) to those of this MBeanNotificationInfo. Two notification type arrays are equal if their corresponding elements are equal. They are not equal if they have the same elements but in a different order.
    See Also:
      - `Object.hashCode()`
      - `HashMap`