Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.management.openmbean
Class OpenMBeanInfoSupport

    java.lang.Object
      |
      +--javax.management.MBeanInfo
            |
            +--javax.management.openmbean.OpenMBeanInfoSupport

All Implemented Interfaces:
  java.lang.Cloneable, OpenMBeanInfo, java.io.Serializable

public class OpenMBeanInfoSupport
extends MBeanInfo
implements OpenMBeanInfo, java.io.Serializable

The `OpenMBeanInfoSupport` class describes the management information of an open MBean: it is a subclass of `MBeanInfo`, and it implements the `OpenMBeanInfo` interface. Note that an open MBean is recognized as such if its `getMBeanInfo()` method returns an instance of a class which implements the OpenMBeanInfo interface, typically `OpenMBeanInfoSupport`.

Author:
  Young Yang
See Also:
  Serialized Form

Constructor Summary
`OpenMBeanInfoSupport(java.lang.String className, java.lang.String description, OpenMBeanAttributeInfo[] openAttributes, OpenMBeanConstructorInfo[] openConstructors, OpenMBeanOperationInfo[] openOperations, MBeanNotificationInfo[] notifications)` Constructs an `OpenMBeanInfoSupport` instance, which describes a class of open MBeans with the specified className, description, openAttributes, openConstructors , openOperations and notifications.

Method Summary
`boolean` | `equals(java.lang.Object obj)` Compares the specified obj parameter with this `OpenMBeanInfoSupport` instance for equality.
`int` | `hashCode()` Returns the hash code value for this `OpenMBeanInfoSupport` instance.
`java.lang.String` | `toString()` Returns a string representation of this `OpenMBeanInfoSupport` instance.

Methods inherited from class javax.management.MBeanInfo
`clone, getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface javax.management.openmbean.OpenMBeanInfo
`getAttributes, getClassName, getConstructors, getDescription, getNotifications, getOperations`

Constructor Detail

### OpenMBeanInfoSupport

    public OpenMBeanInfoSupport(java.lang.String className,
                                java.lang.String description,
                                OpenMBeanAttributeInfo[] openAttributes,
                                OpenMBeanConstructorInfo[] openConstructors,
                                OpenMBeanOperationInfo[] openOperations,
                                MBeanNotificationInfo[] notifications)

  Constructs an `OpenMBeanInfoSupport` instance, which describes a class of open MBeans with the specified className, description, openAttributes, openConstructors , openOperations and notifications.

  The openAttributes, openConstructors, openOperations and notifications array parameters are internally copied, so that subsequent changes to the arrays referenced by these parameters have no effect on this instance.

  Parameters:
    `className` - The fully qualified Java class name of the open MBean described by this `OpenMBeanInfoSupport` instance.
    `description` - A human readable description of the open MBean described by this `OpenMBeanInfoSupport` instance.
    `openAttributes` - The list of exposed attributes of the described open MBean; Must be an array of instances of a subclass of `MBeanAttributeInfo`, typically `OpenMBeanAttributeInfoSupport`.
    `openConstructors` - The list of exposed public constructors of the described open MBean; Must be an array of instances of a subclass of `MBeanConstructorInfo`, typically `OpenMBeanConstructorInfoSupport`.
    `openOperations` - The list of exposed operations of the described open MBean. Must be an array of instances of a subclass of `MBeanOperationInfo`, typically `OpenMBeanOperationInfoSupport`.
    `notifications` - The list of notifications emitted by the described open MBean.
  Throws:
    `ArrayStoreException` - If openAttributes, openConstructors or openOperations is not an array of instances of a subclass of `MBeanAttributeInfo`, `MBeanConstructorInfo` or `MBeanOperationInfo` respectively.

Method Detail

### equals

    public boolean equals(java.lang.Object obj)

  Compares the specified obj parameter with this `OpenMBeanInfoSupport` 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.
  Specified by:
    `equals` in interface `OpenMBeanInfo`
  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `obj` - the object to be compared for equality with this `OpenMBeanInfoSupport` instance;
  Returns:
    `true` if the specified object is equal to this `OpenMBeanInfoSupport` instance.

### hashCode

    public int hashCode()

  Returns the hash code value for this `OpenMBeanInfoSupport` instance.

  The hash code of an `OpenMBeanInfoSupport` 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 `OpenMBeanInfoSupport` instances `t1` and `t2`, as required by the general contract of the method `Object.hashCode` .

  However, note that another instance of a class implementing the `OpenMBeanInfo` interface may be equal to this `OpenMBeanInfoSupport` instance as defined by `equals(java.lang.Object)`, but may have a different hash code if it is calculated differently.

  As `OpenMBeanInfoSupport` instances are immutable, the hash code for this instance is calculated once, on the first call to `hashCode`, and then the same value is returned for subsequent calls.

  Specified by:
    `hashCode` in interface `OpenMBeanInfo`
  Overrides:
    `hashCode` in class `java.lang.Object`
  Returns:
    the hash code value for this `OpenMBeanInfoSupport` instance

### toString

    public java.lang.String toString()

  Returns a string representation of this `OpenMBeanInfoSupport` instance.

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

  As `OpenMBeanInfoSupport` instances are immutable, the string representation for this instance is calculated once, on the first call to `toString`, and then the same value is returned for subsequent calls.

  Specified by:
    `toString` in interface `OpenMBeanInfo`
  Overrides:
    `toString` in class `java.lang.Object`
  Returns:
    a string representation of this `OpenMBeanInfoSupport` instance

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD